Spring基于XML装配Bean (biancheng.net).
Spring 基于 XML 的装配通常采用两种实现方式,即设值注入(Setter Injection)和构造注入(Constructor Injection)
设值注入要求一个 Bean 的对应类必须满足以下两点要求。
-
必须提供一个默认的无参构造方法。
-
必须为需要注入的属性提供对应的 setter 方法。
<!-- 使用设值注入方式装配Person实例 -->
<bean id="person1" class="com.mengma.assembly.Person">
<property name="name" value="zhangsan" />
<property name="age" value="20" />
</bean>
<!-- 使用构造方法装配Person实例 -->
<bean id="person2" class="com.mengma.assembly.Person">
<constructor-arg index="0" value="lisi" />
<constructor-arg index="1" value="21" />
</bean>
<!--set方法注入 常用
涉及的标签:property
出现的位置:bean标签的内部
name:用于注入时所调用的set方法名称
value:用于提供基本类型和string类型数据
ref:用于指定其他的bean类型数据,它指的就是在spring的Ioc核心容器中出现过的bean对象
优势:创建对象时没有明确的限制,可以直接使用默认构造函数
弊端:如果由某个成员,必须有值,则获取对象时,有可能set方法没有执行
-->
<bean id="accountService2" class="com.li.service.impl.AccountServiceImpl2">
<property name="name" value="test"></property>
<property name="age" value="18"></property>
<property name="birthday" ref="now"></property>
</bean>
代码演示
public class AccountServiceImpl2 implements IAccountService {
private String name;
private Integer age;
private Date birthday;
public void setName(String name) {
this.name = name;
}
public void setAge(Integer age) {
this.age = age;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public void saveAccount() {
System.out.println("service中的saveAccount执行了******");
}
扫描二维码,在手机上阅读!
评论