spring中注解:@service,@Qualifier,@Autowired关键字

@service注解的使用:

<context:component-scan base-package=""/> 
加上这一行以后,将自动扫描路径下面的包,如果一个类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml文件定义bean了,
类似的还包括@Component、@Repository、@Controller。如果加了注解还在配置bean,就会导致重复报错。

@service("xxx")括号里的xxx是要实现的类的一个对象名,比如在一个Student实现类上加上@Service("student"),括号里面就是给实例化后的Student对象取个名字。。。
这是在一个接口有多个实现类的情况下区分实现类的方式。。。。
比如Student实现了Person接口,在你的controller里面@Autowired(自动装配) Person时,假如这时Person还有另一个实现类User,为了确定实例化Student还是User, 
@Service括号里面的东西就有用了, @Autowired @Qualifier("xxx") ---合格者,多个实现时,表示实现的具体是哪一个。xxx是@service("xxx")中的xxx private Person person; 这样就确定实例化了一个Person指向一个Student对象。。。

       1、@Service用于标注业务层组件
       2、@Controller用于标注控制层组件(如struts中的action)
       3、@Repository用于标注数据访问组件,即DAO组件.
       4、@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 

 
posted @ 2018-11-08 17:09  月挚古儿  阅读(1640)  评论(0编辑  收藏  举报