1、概述:
从spring2.5开始就可以使用注解来配置依赖注入,而不是才用xml来描述一个bean连线,可以使用相关类、方法或字段生命的注解,将bean配置移动到组件类本身,在xml注入之前进行注解注入,因此后者的配置将通过两种方式的属性连线被前者重写。注解连线在默认情况下载spring容器中不打开,因此,在可以使用基于注解的连线之前,将需要在spring配置文件中启动它使用
通过<context:annotation-config/>来启动
2、几大重要注解:
名称 | 描述 |
---|---|
@Required | @Required注解应用于bean属性的setter方法(被要求) |
@Autowired | @Autowired注解可以应用到bean属性的setter方法,非setter方法,构造函数和属性(自动装配) |
@Qualifier | 通过指定确切的将被连线bean,@Autowired和@Qualifier注解可以用来删除混乱(限定) |
@JSR-250 Annotation | spring支持JSP-250的基础的注解,其中包括了@Resource、@PostConstrut和@PrePestroy注解 |
1、@Required注解:应用于bean属性的setter方法,它表明受影响的bean属性在配置时必须放在xml配置文件中,否则容器就会抛出一个BeanlnitializationException异常
2、@Autowired注解: 可以在setter方法中被用于自动连接bean,就像@Autowired的注解、容器,一个属性或者任意命名可能带有多个参数的方法,挡spring遇到一个在setter方法中使用@Autowired注释,它会在方法中试图执行byType的自动连接
3、@Qualifier注解:可能会有这样一种情况,当你创建多个具有相同类型的bean时,并且想要用一个属性只为其中的一个进行装配,在这种情况下使用@Qualifier注解和@Autowired注解通过指定哪一个真正的bean将会被装配来消除混乱
4、@Resource注解:在字段中或者setter方法中使用@Resource注解,@Resource注解使用一个name属性,该属性以一个bean名称的形式被注入
5、@configuration注解和@Bean注解:带有@configuration的注解类表示类可以使用spring容器作为bean定义的来源,@Bean注解告诉bean,一个带有@Bean的注解方法将返回一个对象,该对象应该被注册在spring应用程序上下文中,当@Bean依赖对方时,只要有一个bean方法调用另一个