工厂方法配置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
随机推荐
- Centos7.4 离线安装httpd(解决rpm依赖)
1.直接下载httpd的rpm安装包,安装失败需要先解决依赖. [root@node06 ~]# rpm -ivh httpd--.el7.centos.x86_64.rpm warning: htt ...
- boost range
1.Algorithms Boost.Range is library that, on the first sight, provides algorithms similar to those p ...
- 对于vue绑定的model值里边get和set的小动作
先看下例子: template里边内容: <el-form-item label="导航条类型"> <el-radio-group v-model="n ...
- Linux 下 VIM 的操作
其实VI 和vim本质上没有多大区别,,但是VIM 可以高亮关键字,使得更受青睐 vim里面有3种模式:命令模式,编辑模式,末行模式 1. vim--->:set number VIM 打开文档 ...
- yarn 国内加速,修改镜像源
为什么慢 由于默认情况下执行 yarn 各种命令是去国外的 yarn 官方镜像源获取需要安装的具体软件信息,所以在不使用代理.不翻墙的情况下,从国内访问国外服务器的速度相对比较慢 可以通过以下命令快速 ...
- vlc 学习网
http://capricasoftware.co.uk/#/projects/vlcj/tutorial
- iview+vue 使用中遇到的问题(分页)
1.分页默认页数 当页面只有一个功能需要分页组件时,引用iview分页组件当然没问题.当一个页面中有多个需要分页组件的时候,便容易出现问题.例如:在项目中有多个不同的表格需要分页功能,几个表格共用一个 ...
- FTP- Download, upload, Delete & find files
Public Function Func_FTP(Operation,ServerName,UserName,Password,RemoteLocation,LocalLocation) 'Set u ...
- excel cannot access the file there are several possible reasons
original link Microsoft Office Excel cannot access the file ‘c:\file.xlsx’. There are several possib ...
- 蛋糕仙人的javascript笔记
蛋糕仙人的javascript笔记:https://www.w3cschool.cn/kesyi/kesyi-nqej24rv.html