静态工厂配置bean
通过调用静态工厂方法创建 Bean
调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中. 当客户端需要对象时, 只需要简单地调用静态方法, 而不用关心创建对象的细节.
要声明通过静态方法创建的 Bean, 需要在 Bean 的 class 属性里指定拥有该工厂的方法的类, 同时在 factory-method 属性里指定工厂方法的名称. 最后, 使用 <constrctor-arg> 元素为该方法传递方法参数.
<?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 class: 静态工厂类factroy-method: 静态工厂方法.--><bean id="car" class="com.learn.spring.factory.StaticObjectFactory"factory-method="getCar" ><constructor-arg value="audi"></constructor-arg> </bean>
</beans>
package com.learn.spring.factory;import java.util.HashMap;
import java.util.Map;import com.learn.spring.autowire.Car;/*** 获取Car对象的工厂.* Car car = StaticObjectFactory.getCar("audi");*/
public class StaticObjectFactory {private static Map<String,Car> cars = new HashMap<String,Car>();static{cars.put("audi", new Car("Audi", 450000));cars.put("bmw", new Car("bmw",500000));}/*** 静态工厂方法*/public static Car getCar(String carName){return cars.get(carName);}
}
package com.learn.spring.factory;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.learn.spring.autowire.Car;public class Main {public static void main(String[] args) {ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("spring-factory.xml");Car car =(Car) ctx.getBean("car");System.out.println(car);}
}
静态工厂配置bean相关推荐
- Spring 学习总结 使用静态工厂创建Bean
创建Bean时,class属性必须指定,此时为静态工厂类. factory-method指定静态工厂方法名. 接口: 1 2 3 public interface Being { public ...
- 实例工厂配置bean
通过调用实例工厂方法创建 Bean 实例工厂方法: 将对象的创建过程封装到另外一个对象实例的方法里. 当客户端需要请求对象时, 只需要简单的调用该实例方法而不需要关心对象的创建细节. 要声明通过实例工 ...
- java bean 工厂模式_Spring框架通过工厂创建Bean的三种方式实现
工厂模式 Spring中bean的创建,默认是框架利用反射new出来的bean实例.有时候也会有一些复杂的情况. 假设有一个飞机,属性如下,现在需要造很多同型号的飞机,那么唯一需要改变的属性只有Dri ...
- 实验5:配置通过静态工厂方法创建的bean、实例工厂方法创建的bean、(FactoryBean测试)★
实验5:配置通过静态工厂方法创建的bean.实例工厂方法创建的bean.(FactoryBean测试)★ bean的创建默认就是框架利用反射new出来的bean实例 工厂模式:工厂帮我们创建对象:有一 ...
- Spring 通过工厂方法(Factory Method)来配置bean
在spring的世界中, 我们通常会利用bean config file 或者 annotation注解方式来配置bean. 在第一种利用bean config file(spring xml)方式中 ...
- 二、通过工厂方法来配置bean
调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中. 当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节. 要声明通过静态方法创建的 Bean, 需要在 Bean ...
- spring 通过工厂方法配置Bean
概要: 通过调用静态工厂方法创建Bean 调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中.当client须要对象时,仅仅须要简单地调用静态方法,而不用关心创建对象地细节. 要声明通过静 ...
- Spring学习记录(九)---通过工厂方法配置bean
1. 使用静态工厂方法创建Bean,用到一个工厂类 例子:一个Car类,有brand和price属性. 1 package com.guigu.spring.factory; 2 3 public c ...
- Spring中bean实例化的三种方式:默认构造、静态工厂、实例工厂
1. 默认构造方式:必须提供默认构造 <bean id="bean id" class="工厂全限定类名"></bean> 以Studn ...
最新文章
- [Java]LeetCode297. 二叉树的序列化与反序列化 | Serialize and Deserialize Binary Tree
- Java并发编程原理与实战一:聊聊并发
- geojson地图_PowerBI地图应用之形状地图
- 使用 Visual Studio Team Services 和 IIS 创建持续集成管道
- [luogu-P4299] 首都(并查集 + LCT动态维护树的重心 / 维护虚儿子信息)
- 实验项目 3-4:一元多项式的乘法与加法运算
- Linux 编辑doc,Linux命令大全(文档编辑).doc
- 生成的头_谷歌新款怪物制造机,用GAN一键生成定制版哥斯拉
- Python学习笔记--Python字符串连接方法总结
- 菜鸟到高手:SQL开发进阶常用精妙语句
- 蓝牙耳机连接电脑,提示无法安装驱动程序
- python头像右上角加红色数字_「微信头像右上角数字」微信头像右上角红色数字怎么添加? - seo实验室...
- c语言入门ppt演示,c语言学习ppt-C语言入门教程ppt(共434页)免费版【精品课件】-东坡下载...
- java毕业设计网站ssm医院医药药品管理系统
- x264码率控制(二)lookahead
- python的常量_python中的常量
- 为什么会出现403 Forbidden错误?三分钟教你快速解决问题!
- CodeForces 19E 仙女fairy
- 关于时域、频域和波数域的一些概念
- 网页布局中的 px,em,rem,pt