静态工厂方法和实例工厂方法注入bean
来源:互联网 发布:达索软件销售 编辑:程序博客网 时间:2024/05/17 12:00
一、静态工厂方法注入bean
利用静态工厂方法可以把bean注入到IOC容器中。在XML文件中配置bean时,要指定class的属性为工厂的类;factory-method属性指定工厂类中工厂方法,用于创建bean;constrctor-arg用于给工厂方法传递参数。实例如下:
1、创建Car类
public class Car { private String brand; private double price; public Car(String brand, double price) { super(); this.brand = brand; this.price = price; } @Override public String toString() { return "Car [brand=" + brand + ", price=" + price + "]"; }}
2、bean.xml配置
<!--class要写工厂的类;factory-method要写工厂类中用于创建bean的方法--><bean id="car1" class="com.lzj.spring.beans.factory.StaticFactory" factory-method="getCar"> <constructor-arg value="baoma"></constructor-arg> </bean>
3、测试方法
public class TestStaticFactory { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); Car car = (Car) ctx.getBean("car1"); System.out.println(car); }}
输出结果:
Car [brand=baoma, price=200000.0]
二、实例化静态工厂注入bean
实例化静态工厂注入bean,需要先实例化一个工厂类,然后通过由实例化工厂对象中的一个方法来创建bean,并注入到容器中。
在 bean 的 factory-bean 属性里指定拥有该工厂方法的 Bean;在 factory-method 属性里指定该工厂方法的名称;使用 construtor-arg 元素为工厂方法传递方法参数。示例如下
1、bean.xml的配置
<!--首先创建一个工厂的bean--> <bean id="carFactory" class="com.lzj.spring.beans.factory.InstanceFactory"></bean> <!--factory-bean指定前面已经创建的bean; factory-method指定工厂实例中用于创建car的方法; constructor-arg指定创建car方法中传入的参数--> <bean id="car2" factory-bean="carFactory" factory-method="getCar"> <constructor-arg value="baoma"></constructor-arg> </bean>
2、测试方法
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); Car car = (Car) ctx.getBean("car2"); System.out.println(car);
输出结果:
Car [brand=baoma, price=200000.0]
阅读全文
0 0
- 静态工厂方法和实例工厂方法注入bean
- 静态工厂方法和实例工厂方法
- 静态工厂方法和实例工厂方法
- spring学习小结7_使用工厂方法来配置bean:静态工厂方法和实例工厂方法
- spring 9 bean配置--通过工厂方法(静态工厂方法&实例工厂方法
- 静态工厂方法和实例工厂方法区别
- Spring的实例工厂方法和静态工厂方法
- Spring的实例工厂方法和静态工厂方法
- Spring Bean工厂创建Bean实例的方法之使用静态工厂类
- spring的静态工厂和实例工厂方法
- Spring学习之使用静态工厂方法以及实例工厂方法配置bean
- 工厂方法注入(静态和非静态)
- spring Bean使用案例 静态方法方式 和工厂模式
- 工厂方法和依赖注入
- Spring使用静态工厂方法创建Bean
- 通过调用静态工厂方法创建 Bean
- Spring使用静态工厂方法创建Bean
- 动态工厂 Bean和静态工厂Bean
- 欢迎学习交流
- JavaScript学习笔记整理(六)
- 蓝桥杯 算法训练 一元三次方程求解
- 线性回归诊断--R
- C++学习笔记--二阶构造模式
- 静态工厂方法和实例工厂方法注入bean
- spring boot集成EhCache(七)
- ①mov ax,1 ②mov ds,ax ③mov bx,[0] 通过上面这些语句,为什么ds=0000?
- 1054. 求平均值 (20)
- IntelliJ Idea 常用快捷键列表
- 将两个字符串或一个字符串与数组传入一个,输出字符串中需要的字符位置
- 1055. 集体照 (25)
- Markdown编辑数学公式的方法
- python学习——Counter计数方法