项目随笔@Service("testService")-------第二篇

在springmvc中使用注解已经司空见惯了,今天见到了@Service("xxx")这种形式,让我大吃一惊。原来在service后面可以加参数,作为该service的名字,在spring容器中就是bean的id,用于与其他类区别,平时不需要区别,所以一直都是不带参数的。举个需要区别的场景:

假如有一接口personService,有两个实现类maleService、FemaleService,在某一个controller中这样写道

@Autowired

private PersionService persionService;

 

这种情况下会出现问题,因为不确定该pserisonService具体是哪个实现类的。

此时,上面的给service取名字的形式就用到了,可以这样写

@Service(“male”)

public class MaleService{

}



@Service("female")

public class FemaleService{

}

 

 

在controller中这样写

@Autowired

@Qualifier(“male”)

private PersionService presionService

 

这样就告诉程序我要用的实现类是MaleService

 

posted @ 2016-09-29 15:59  冰封绝恋  阅读(316)  评论(0编辑  收藏  举报