工厂方法配置bean
1:静态工厂方法配置bean
1):对象
package com.spring.helloworld;
public class Car {
private String name;
private double jia;
public void setName(String name) {
this.name = name;
}
public void setJia(double jia) {
this.jia = jia;
}
@Override
public String toString() {
return "Car [name=" + name + ", jia=" + jia + "]";
}
public Car(String name, int jia) {
super();
this.name = name;
this.jia = jia;
}
}
2):静态工厂方法
package com.spring.helloworld; import java.util.HashMap;
import java.util.Map; public class StaticCarFactory { private static Map<String ,Car> cars=new HashMap<String,Car>();
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);
}
}
3):配置文件
<!--
class属性:指向静态工厂方法的全类名
factory-method:指向静态工厂方法的名称
constructor-arg:如果工厂方法需要传入参数,则使用构造器配置参数
-->
<bean id="car" class="com.spring.helloworld.StaticCarFactory"
factory-method="getCar">
<constructor-arg value="ford"></constructor-arg>
</bean>
2:实例工厂方法
package com.spring.helloworld; import java.util.HashMap;
import java.util.Map; 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",30000)); }
public Car getCar(String name){
return cars.get(name);
}
}
<!-- 配置工厂的实例 -->
<bean id="carFactory" class="com.spring.helloworld.InstanceCarFactory"></bean>
<!-- 通过实例工厂方法来配置bean
factory-bean:指向实例工厂方法的全类名
factory-method:指向静态工厂方法的名字
constructor-arg:如果工厂方法需要传入参数,则使用构造器配置参数
-->
<bean id="car"
factory-bean="carFactory" factory-method="getCar">
<constructor-arg value="ford"></constructor-arg>
</bean>
工厂方法配置bean的更多相关文章
- 4.spriing:Bean的生命周期/工厂方法配置Bean/FactoryBean
1.Bean的生命周期 scope:singleton/prototype 1)spring容器管理singleton作用的生命周期,spring能够精确知道Bean合适创建,何时初始化完成,以及何时 ...
- Spring初学之通过工厂方法配置Bean
工厂方法配置bean分为两种,一种是实例工厂方法,另一种是静态工厂方法. 先来看看实体bean: Car.java: package spring.beans.factory; public clas ...
- 11.Spring通过工厂方法配置Bean
通过工厂方法配置Bean暴扣静态工厂方法和实例工厂方法. 1.静态工厂方法 调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中,当客户端需要对象时,只需要简单的调用静态方法,而不去关心创建 ...
- Spring4学习回顾之路07- 通过工厂方法配置Bean
一:通过静态工厂配置Bean 建立Student.java package com.lql.srping04; /** * @author: lql * @date: 2019.10.28 * Des ...
- Spring学习记录(九)---通过工厂方法配置bean
1. 使用静态工厂方法创建Bean,用到一个工厂类 例子:一个Car类,有brand和price属性. package com.guigu.spring.factory; public class C ...
- Spring4.0学习笔记(6) —— 通过工厂方法配置Bean
1.静态工厂方法: bean package com.spring.factory; public class Car { public Car(String brand) { this.brand ...
- spring 通过工厂方法配置Bean
概要: 通过调用静态工厂方法创建Bean 调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中.当client须要对象时,仅仅须要简单地调用静态方法,而不用关心创建对象地细节. 要声明通过静 ...
- 通过工厂方法配置Bean
前面几节,我们配过了好多Bean,通过反射机制,在class属性里填写全类名,现在我们来讲讲其他方式,通过工厂方法,还有通过FactoryBean,这个在我们整合第三方框架时会用到. 工厂方法可以分为 ...
- spring4-2-bean配置-9-通过工厂方法配置bean
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjwAAAFICAIAAADbNrOHAAAgAElEQVR4nO2dy7W0uhGFOxWn4JEXAS
随机推荐
- HttpClient之EntityUtils工具类
今天看到tttpclient-tutorial上面有这样一句话-----非常的不推荐使用EntityUtils,除非知道Entity是来自可信任的Http Server 而且还需要知道它的最大长度.文 ...
- html中ul,ol和li的区别
ul是无序列表,全称是unordered list,先来个例子: ●张三 ●李四 ●王二 ●刘五 ol是有序列表 ,全称是ordered list,同样举个例子: 1.张 ...
- Linux编程 多进程,多线程求解PI(圆周率)
题目: 链接 多进程: #include <unistd.h> #include <stdio.h> #include <stdlib.h> #define n 1 ...
- VS2010提示error TRK0002: Failed to execute command
转自VC错误:http://www.vcerror.com/?p=277 问题描述: windows8自动更新Microsoft .NET Framework 3.5和4.5.1安全更新程序,今天用V ...
- Spring中ApplicationContext加载机制和配置初始化
Spring中ApplicationContext加载机制. 加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet. ...
- flask实现异步任务
最近在开发同步mysql数据到redis的接口,因为数据同步涉及各种增删查改,如果用同步实现,可能回造成连接超时.堵塞,所以,使用python实现异步任务. 代码实现from flask import ...
- PHP+JS的信息提示弹窗
基于PHP函数的Msg信息提示框 1.可以设置弹出信息,跳转地址,跳转的时间,跳转的信息标题提示: 2.代码实例: <?php function ShowMsg($msg, $gourl,$ti ...
- Python中的内置函数和匿名函数
1. 内置函数 print用法 def print(self, *args, sep=' ', end='\n', file=None): # known special case of print ...
- 第十三周学习总结&实验报告(八)
图像界面 件处理及监听处理 1.键盘事件(KeyEvent)及监听处理(KeyListener) 1.1加入事件监听 super.addWindowListener(new WindowAdapter ...
- spring注解开发:容器中注册组件方式
1.包扫描+组件标注注解 使用到的注解如下,主要针对自己写的类 @Controller @Service @Repository @Component @ComponentScan 参考 spring ...