Spring_依赖注入DI

依赖注入:DI(dependency import)给对象的属性赋值

第一种方法给对象属性赋值:

这样在刚启动spring框架时,就调用对象的有参构造而不是无参构造了

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

     <bean id="test1" class="cn.java.ioc1.YelloMouseWolf" >
         <!-- 
         constructor-arg:通过构造器给对象赋值,调用有参构造
             index:方法中第几个属性
             type:这个属性的类型
             value:要给这个属性赋值的内容
         -->
         <constructor-arg index="0" type="java.lang.String" value="tom"></constructor-arg>
         <constructor-arg index="1" type="java.lang.Integer" value="2"></constructor-arg>
         <constructor-arg index="2" type="java.lang.Float" value="2.5"></constructor-arg>
     </bean>

</beans>

第二种方法赋值:

通过setter getter。开启框架调用的是无参构造。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

     <bean id="test1" class="cn.java.ioc1.YelloMouseWolf" >
         <!-- 
         property:通过setter getter赋值(开启框架会调用无参构造)
             name:属性名
             value:属性的值
         -->
         <property name="name" value="jack"></property>
         <property name="age" value="10"></property>
         <property name="weight" value="2.5"></property>
     </bean>

</beans>

总结:什么是DI?

DI是依赖注入,给对象赋值。有两种方法赋值。

一种是利用构造器,启动框架会调用有参构造。

一种是利用set get赋值,启动框架会调用无参构造。

通过DI中的get/set方式给对象的list、set、map、properties(配置文件)属性赋值

猜你喜欢

转载自www.cnblogs.com/lonske/p/9061083.html