Spring控制反转容器的使用

1、通过构造器创建一个bean实例

一个简单的配置文件

<?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.xsd">

    <bean name="product" class="app15a.bean.Product"/>

</beans>

ApplicationContext context=new ClassPathXmlApplicationContext(new String[]{"spring-config.xml"});

Product product=context.getBean("product",Product.class);

product.setName("Excellent snake oil");

2、通过工厂方法创建一个bean实例

<bean id="calendar" class="java.util.Calendar" factory-method="getInstance"/>

ApplicationContext context=new ClassPathXmlApplicationContext(new String[]{"spring-config.xml"});

Calendar calendar=context.getBean("calendar",Calendar.class);

3、向构造器传递参数

(1)通过参数名传递参数

<bean name="featuredProduct" class="app15a.bean.Product">

    <constructor-arg name="name" value="Ultimate Olive Oil"/>

    <constructor-arg name="description" value="The purest olive oil on the market"/>

    <constructor-arg name="price" value="9.95"/>

</bean>

(2)通过下标传递参数

index="0" index="1"

注:对应构造器的所有参数必须传递,缺一不可;

4、setter方式依赖注入

<bean name="simpleAddress" class="app15a.bean.Address">

    <constructor-arg name="line1" value="151 Corner Street"/>

    <constructor-arg name="line2" value=""/>

    <constructor-arg name="city" value="Albany"/>

    <constructor-arg name="state" value="NY"/>

    <constructor-arg name="zipCode" value="99999"/>

    <constructor-arg name="country" value="US"/>

</bean>

<bean name="employee1" class="app15a.bean.Employee">

    <property name="homeAddress" ref="simpleAddress"/>

    <property name="firstName" value="Junior"/>

    <property name="lastName" value="Moore"/>

</bean>

homeAddress属性配置的是simpleAddress对象的引用。

5、构造器方式依赖注入

<bean name="employee1" class="app15a.bean.Employee">

    <constructor-arg name="homeAddress" ref="simpleAddress"/>

    <constructor-arg name="firstName" value="Junior"/>

    <constructor-arg name="lastName" value="Moore"/>

</bean>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值