2018-07-29
spring的依赖注入分为三种方式
- 1.构造器注入
- 2.setter注入
- 3.接口注入
构造器注入和setter注入是依赖注入的两种主要方式,接口注入是指从别的地方注入的方式。(通过在xml中描述,实现注入)
一、构造器注入
构造器注入依赖于构造方法的实现,----------构造方法可以是有参数的,也可以是无参数的 。
在没有spring之前,我们在大多数情况下,我们都是通过构造方法来创建类对象,
Spring可以采用反射的方式,通过构造方法来完成注入,这就是构造方法的原理。
1.引入spring的支持
2.通过描述具体的类,构造方法和其中的参数,这样spring就可以通过相应的信息用反射的方式创建对象。
3.在test文件中加载spring配置文件的方法
String configLocation ="applicationContext.xml";
ApplicationContext context = new ClassPathXmlApplicationContext(configLocation);
Role role = context.getBean("role", Role.class);
在spring中一切的资源都是bean。
二、spring中最主流的注入方式:setter注入
setter注入利用JAVA Bean规范所定
注意: 构造器注入是通过构造方法注入,
setter注入是通过setter方法注入
首先将构造方法设置为无参的构造方法,然后利用setter注入为其设置新的值,
这也是通过java的反射技术得以实现的
注意:构造器注入和setter注入都是通过java的反射技术得以实现的。
1 <!-- 下面是setter注入,需要一个无参的构造方法 -->
2 <bean id="role1" class="com.pojo.Role" >
3 <property name="id" value="124"></property>
4 <property name="name" value="张三"></property>
5 <property name="age" value="2324"></property>
6 </bean>
三、spring依赖注入的第三种方式:接口注入
有时候资源并非来自于自身的系统,而是来自于外界,
比如说数据库连接资源完全可以在Tomcat下配置,
然后通过JNDI的方式去获取它,这样的数据库连接资源就属于开发工程外的资源。