Spring4第三讲学习笔记,依赖注入dependency injection

来源:互联网 发布:python经典视频教程 编辑:程序博客网 时间:2024/06/05 00:51

1.依赖注入--dependency injection
依赖:指bean对象的创建依赖于Spring容器。
注入:指bean对象的属性由Spring容器来设置和装配。



2.Spring注入,setter注入
要求被注入的属性必须有set方法,set方法的方法名是set+属性名首字母大写。
如果boolean类型,get方式是isXxx,其他get方法与set方法一致。


3.常量注入
<bean id="user" name="u1" class="domain.User">
<property name="name" value="李四" />
</bean>


4.bean注入


package domain;


public class Address {
public Address() {
System.out.println("Address 构造函数执行");
}


private String address;


public void setAddress(String address) {
this.address = address;
}


public String getAddress(){
return address;
}


}
写一个Address类,里面有一个属性address,生成get和set方法
在User类中,创建一个Address类的引用,为了给它赋值,需要set方法。

User类核心代码
private Address addr;
public void setAddr(Address addr){
this.addr = addr;
}

public void show(){
System.out.println("name="+name+" addr="+addr.getAddress());
}


配置文件
 <bean id="address" name="addr" class="domain.Address">
    <property name="address" value="计算机"/>
  </bean>
<bean id="user" name="u1" class="domain.User">
<property name="name" value="李四" />
<property name="addr"
ref="address"/>
  </bean>



打印结果 name=李四addr=计算机




5.数组注入
<bean id="user" name="u1" class="domain.User">
<property name="myArray">
<array>
<value>我</value>
<value>喜</value>
<value>欢</value>
<value>IT</value>
</array>
</property>

</bean>


6.List注入
<bean id="user" name="u1" class="domain.User">
<property name="name" value="李四" />
<property name="addr" ref="address"/>
<property name="list">
<list>
<value>我</value>
<value>喜</value>
<value>欢</value>
<value>IT</value>
</list>
</property>

</bean>
7.map注入


<property name="cards">
<map>
<entry key="我" value="111111"/>
<entry key="你" value="222222"/>
</map>
</property>



8.set注入
<property name="set">
<set>
<value>dnf</value>
<value>lol</value>
</set>
</property>



9.空注入
<bean>
<property name="wife">
<null></null>
</property>

</bean>


10.properties注入
<property name="properties">
<props>
<prop key="学号">172</prop>
<prop key="性别">man</prop>
</props>
</property>



11.命名空间注入
头文件在instrance下一行加入 
xmlns:p="http://www.springframework.org/schema/p"
 <!-- p命名空间注入 属性依然要设置set方法 -->
 <bean id="addr1" class="domain.Address" p:name="风" p:address="地"/>

自行设计字段的值

命名空间的构造函数注入
头文件加入  
xmlns:c="http://www.springframework.org/schema/c"
 <!-- c命名空间注入要求有对应参数的构造方法 -->
 <bean id="u1" class="cn.sxt.vo.User" c:name="nico" c:address="16"/>

C表示constractor 构造函数
原创粉丝点击