spring装配bean (3)

构造器方式

<bean id="man" class="com.yalunwang.xmlconfig.Man" > <constructor-arg ref="busCar"/> </bean>

这样就会在创建man实例的时候调用有参构造器,将id为busCar的bean实例注入进去。 我们也可以注入非引用类型即字面值:

<bean id="busCar" class="com.yalunwang.xmlconfig.BusCar" > <constructor-arg name="carName" value="浦东2"></constructor-arg> </bean>

xml还支持多种类型的注入,例如list.大家都知道公交车有很多的站点所以我们新增一个字段stationList用来存放站点列表。 我们也可以注入list类型

<bean id="busCar" class="com.yalunwang.xmlconfig.BusCar" > <constructor-arg name="carName" value="浦东2"></constructor-arg> <constructor-arg name="stationList"> <list> <value>高科中路</value> <value>宜山路</value> <value>桂林路</value> </list> </constructor-arg> </bean>

同样的我们也可以使用<set> <map> <array>等来装配。

我们编写测试类来测试一下:

@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:spring-test.xml"}) public class Test { @Autowired private Car car; @org.junit.Test public void testBusCar() { car.notice(); car.printStationList(); } @Autowired private People people; @org.junit.Test public void testPeople() { people.drive(); } }

两个方法的输出分别是

浦东2路南京西路到了 站名:高科中路 站名:宜山路 站名:桂林路 男司机:小明 浦东2路南京西路到了

下面来看属性注入

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwsxg.html