九调用工厂方法实现Bean
来源:互联网 发布:淘宝优惠券 微信公众号 编辑:程序博客网 时间:2024/06/07 06:04
1.静态工厂方法:
调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中.
当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节.要声明通过静态方法创建的 Bean,
需要在 Bean 的 class 属性里指定拥有该工厂的方法的类, 同时在 factory-method 属性里指定工厂方法的名称.
最后, 使用 <constrctor-arg> 元素为该方法传递方法参数.
ex:
首先创建一个静态工厂类:
public class StaticCarFactory { private static Map<String,Car> cars=new HashMap<>(); static { cars.put("audi",new Car("audi",30000)); cars.put("ford",new Car("ford",40000)); } public static Car getCar(String name){ return cars.get(name); }}
同样的需要配置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 id="cars" class="beansfactory.StaticCarFactory" factory-method="getCar"> <constructor-arg value="audi"></constructor-arg> </bean></beans>
在主程序中进行输出:
public class Main { public static void main(String[] args){ ApplicationContext ctx=new ClassPathXmlApplicationContext("beans-factory.xml"); Car test= (Car) ctx.getBean("cars"); System.out.println(test); }}
2.调用实例工厂方法实现Bean:
首先创建一个实例工厂类:
public class InstanceCarFactory { private Map<String,Car> cars=null; public InstanceCarFactory(){ cars=new HashMap<String,Car>(); cars.put("audi",new Car("audi",30000)); cars.put("ford",new Car("ford",40000)); } public Car getCar(String brand){ return cars.get(brand); }}
同样的创建配置文件:
<!--配置工厂实例--> <!--step1--> <bean id="carFactory" class="beansfactory.InstanceCarFactory"></bean> <!--step2--> <bean id="car2" factory-bean="carFactory" factory-method="getCar"> <constructor-arg value="ford"></constructor-arg> </bean>
在主程序中进行调用:
public class Main { public static void main(String[] args){ ApplicationContext ctx=new ClassPathXmlApplicationContext("beans-factory.xml"); Car test= (Car) ctx.getBean("car2"); System.out.println(test); }}
输出结果:
0 0
- 九调用工厂方法实现Bean
- 通过调用静态工厂方法创建 Bean
- spring学习笔记九 通过工厂方法配置bean
- 【spring NOTE】调用实例工厂方法创建Bean
- 7.7.3:调用实例工厂方法创建Bean
- 学习Spring(二) 调用静态工厂方法创建Bean
- spring 工厂方法配置bean
- Spring入门学习——调用静态工厂方法创建Bean
- Spring入门学习——调用一个实例工厂方法创建Bean
- spring configuration 中 @Bean 方法的内部调用代理实现
- Spring Bean中方法调用/http请求调用/存储过程调用实现的工具类
- 静态工厂方法和实例工厂方法注入bean
- spring 通过工厂方法配置Bean
- 9.Spring_通过工厂方法配置Bean
- Spring-10:通过工厂方法配置Bean
- Spring4笔记----工厂方法配置bean
- Spring使用静态工厂方法创建Bean
- spring中通过工厂方法配置Bean
- ios10 语音识别
- 项目总结三--波纹视图
- 【Java开发手册之工程规约(一)】应用分层
- 类加载器
- redis安装
- 九调用工厂方法实现Bean
- php 之多线程
- .sh文件
- Android----View事件分发机制(二)
- 主从配置master宕机slave库切换为master配置
- 第四届 山东省ACM Alice and Bob
- gdb常用命令整理
- Spring整合Hibernate
- busybox tftp上传下载命令