欢迎来到天天文库
浏览记录
ID:42576627
大小:45.92 KB
页数:11页
时间:2019-09-18
《Spring@Autowired注解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Spring@Autowired注解自Spring诞生以来,的autowire和dependency-check属性便一直存在。当JDK5.0正式发布后,Spring针对dependency-check属性引入了对应的@Required。同理,它针对autowire属性引入了对应的@Autowired注解,其定义摘录如下。 Java代码 1.@Retention(RetentionPolicy.RUNTIME) 2.@Target({ElementType.CONSTRUC
2、TOR, ElementType.FIELD, ElementType.METHOD}) 3.public @interface Autowired { 4. 5.//是否必须满足依赖性检查 6.boolean required() default true; 7.} [java] viewplaincopy1.@Retention(RetentionPolicy.RUNTIME) 2.@Target({ElementType.CONSTRUCTOR, Eleme
3、ntType.FIELD, ElementType.METHOD}) 3.public @interface Autowired { 4. 5.//是否必须满足依赖性检查 6.boolean required() default true; 7.} @Autowired注解能够作用于构建器、属性、方法。这里的方法不局限于设值方法,即setter方法,常见的各种方法都可以应用这一注解。比如,位于autowiringdemo项目中的TestBean1类的testBean2和t
4、estBean3属性应用了这一注解,具体如下。 Java代码 1.@Autowired(required=false) 2.private TestBean2 testBean2; 1. 2.@Autowired 3.private TestBean3 testBean3; [java] viewplaincopy1.@Autowired(required=false) 2.private TestBean2 testBean2; 3. 4.@Autowire
5、d 5.private TestBean3 testBean3; 为启用这一注解,AutowiredAnnotationBeanPostProcessor必须定义在XML配置文件中,示例如下,摘自autowired.xml。运行时,testBean2和testBean3受管Bean会自动注入到testBean1中。开发者是否注意到@Autowired暴露的required属性,这是承担着依赖性检查任务的重要属性。默认时,凡是应用了@Autowired注解的属性和方法都必须找到合适的协作者,
6、否则DI容器会抛出异常,通过调整required属性取值能够改变这一行为。 Java代码 1. 2. 3. 4.
7、 5. 6. [java] viewplaincopy1. 2. 3. 4.8、Bean2" class="test.TestBean2"/> 5. 6. 下面给出了应用于设值方法的@Autowired注解。 Java代码 1.@Autowired(required=false) 2.public void setTestBean2(TestBean2 testBean2) { 3. this.testBean2 = testBean2; 4.}
8、Bean2" class="test.TestBean2"/> 5. 6. 下面给出了应用于设值方法的@Autowired注解。 Java代码 1.@Autowired(required=false) 2.public void setTestBean2(TestBean2 testBean2) { 3. this.testBean2 = testBean2; 4.}
此文档下载收益归作者所有