[size=small]
spring bean的配置包含 3种基本情况
1 全类名配置
2 工厂方法
3 beanFactory
[/size]
spring bean的配置包含 3种基本情况
1 全类名配置
2 工厂方法
3 beanFactory
[/size]
<bean id="car1" class="com.jfn.beans.setter.Car">
<!-- setter 注入 -->
<property name="name" value="ford"></property>
<property name="price" value="30000"></property>
<!-- 构造器注入 -->
<constructor-arg value="xxx" index="0"></constructor-arg>
<constructor-arg value="2000000" index="1"></constructor-arg>
<!-- 注入 list map propertieys属性 -->
<!-- <property name="">
<list></list>
<map></map>
<props></props>
</property> -->
</bean>
<!-- 静态工厂 -->
<bean id="car" class="com.staticfactory.StaticFactory" factory-method="staticFactory">
<constructor-arg value="audi"></constructor-arg>
</bean>
<!-- 实例工厂bean -->
<bean id="carFactory" class="com.instancefactory.InstanceFactory"></bean>
<bean id="car2" factory-bean="carFactory" factory-method="getCar">
<constructor-arg value="ford"></constructor-arg>
</bean>
public class CarFactoryBean implements FactoryBean<Car>{
private String name;
public void setName(String name) {
this.name = name;
}
@Override
public Car getObject() throws Exception {
// TODO Auto-generated method stub
return new Car(name,300000);
}
@Override
public Class<?> getObjectType() {
// TODO Auto-generated method stub
return Car.class;
}
@Override
public boolean isSingleton() {
// TODO Auto-generated method stub
return true;
}
}
<bean id="car" class="com.factorybean.CarFactoryBean">
<property name="name" value="BMW"></property>
</bean>