.Bean的装配 1.使用setter方法装配 代码
时间: 2024-09-14 21:14:28 浏览: 42
spring在IoC容器中装配Bean详解
在Spring框架中,Bean的装配是指将各个独立的Bean组合成一个完整的应用程序。Spring提供了几种不同的方式来实现Bean的装配,其中使用setter方法是一种常用的方式。这种方式遵循Java Bean的规范,即通过无参构造函数创建对象后,再通过setter方法来设置对象的属性。
以下是一个简单的使用setter方法装配Bean的示例代码:
1. 首先定义两个简单的Java类,例如一个Car类和一个Engine类。
```java
public class Car {
private Engine engine;
// Car类的setter方法
public void setEngine(Engine engine) {
this.engine = engine;
}
}
public class Engine {
private String type;
// Engine类的setter方法
public void setType(String type) {
this.type = type;
}
}
```
2. 创建Spring的配置文件`applicationContext.xml`,在文件中定义这两个类的Bean,并通过`<property>`标签使用setter方法来装配属性。
```xml
<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.xsd">
<!-- 定义Engine的Bean -->
<bean id="engine" class="com.example.Engine">
<property name="type" value="1.6L Turbo"></property>
</bean>
<!-- 定义Car的Bean,并通过setter方法装配Engine -->
<bean id="car" class="com.example.Car">
<property name="engine" ref="engine"></property>
</bean>
</beans>
```
在这个配置文件中,我们首先定义了一个Engine类的实例,然后在Car类的实例中通过`<property>`标签指定engine属性引用了Engine类的实例。这样在Spring容器启动时,它会自动调用Car类的setEngine方法,并将Engine类的实例注入到Car类的实例中。
这种方式的优点是代码简洁、清晰,且符合POJO(Plain Old Java Objects)的概念,同时有利于进行单元测试。
阅读全文