Spring依赖注入的简化配置

Posted Keep Moving

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring依赖注入的简化配置相关的知识,希望对你有一定的参考价值。

一, 很久很久以前, 当我们不用@Autowire注解时, 依赖注入要么通过setter方法, 要么通过构造方法;

  需要在配置文件里配置一大堆property-ref..........

 

二, 若使用注解, 则造成代码的侵入性较强, 后期改起来也很蛋疼;

 

 

三, 怎么办? ----->  用default-autowire!!

废话不多说, 直接上代码:

1, 配置文件:

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3        xsi:schemaLocation="http://www.springframework.org/schema/beans
 4         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
 5       default-autowire="byName">    //default-autowire 还可以配的值有, byType or  constructo
            
6 7 <bean id = "demo1" class="testspring.Demo1"></bean> 8 <bean id = "demo2" class="testspring.Demo2"></bean> 9 10 </beans>

2, 当开启default-wire, Spring会根据相应的策略对bean进行自动装配.

  byName或byType都是set方法注入, 区别根据名称应该就能看出来;

 

  constructor则是利用构造方法注入;

2.1 ---- byName

1 public class Demo1 {
2 
3     private Demo2 demo2;    //引用名必须与bean的id相同
4 
5     public void setDemo2(Demo2 demo2) {
6         this.demo2 = demo2;
7     }
8 }

2.2 ---byType

 1 public class Demo1 {
 2 
 3     private Demo2 hehe; //Demo2只要配置成bean就可以成功注入11 
12     public void setHehe(Demo2 demo2) {
13         this.hehe = demo2;
14     }
15 }

2.3---constructor

1 public class Demo1 {
2 
3     private Demo2 demo2;
4 
5     public Demo1(Demo2 demo2) {
6         this.demo2 = demo2;
7     }
8 }

 



以上是关于Spring依赖注入的简化配置的主要内容,如果未能解决你的问题,请参考以下文章

Spring依赖注入

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

简化Spring的java开发

第1章—Spring之旅—简化Spring的java开发

初步认识Spring

Spring--1简单了解