设计模式——Spirng_Bean工厂
2024-09-03 11:00:24
前言:对于简单工厂和抽象工厂都有自己的优点和缺点,
比如简单工厂,如果你需要实现的类过多,你最后会出现工厂泛滥的情况,没有有效的控制代码的可重复性。http://www.cnblogs.com/xiaxj/p/6508799.html
而对于抽象工厂而言,如果你想要在工厂系列中添加一个新的系列,也会是抽象工厂到具体的实现做很大的变动。抽象工厂模式
因此我们有志之士就开发出来了Spring 那么简单的sping中bean工厂就实现了以前的结合:
首先定义MOveable接口
public interface Moveable {
void run();
}
然后写具体的car实现类
public class Car implements Moveable{ public void run(){
System.out.println("老司机开车了.....快上车没时间解释了.....");
}
}
public class navvy implements Moveable { @Override
public void run() {
System.out.println("快来挖掘机学校吧。。。。。");
}
}
在srs目录下面建立自己的spring.properties 文件 写上自己具体的实现类
VehicleType=com.hone.spring.factory.navvy
Main函数中写上自己的具体实现
import java.util.Properties; public class Test {
public static void main(String[] args) throws Exception { Properties props=new Properties();
props.load(Test.class.getClassLoader()
.getResourceAsStream("com/hone/spring/factory/spring.properties"));//找到对应的配置文件
String vehicleTypeName=props.getProperty("VehicleType"); //获得反射文件的属性
System.out.println(vehicleTypeName);
Object o=Class.forName(vehicleTypeName).newInstance(); //利用反射获得相关的实例对象
Moveable moveable=(Moveable) o;
moveable.run();
}
}
最新文章
- JS实现网页批量下载文件,支持PC/手机
- Python 各进制间的转换(转)
- 在服务器上log4net没写日志
- python内建函数sorted方法概述
- 快速构建C++项目工具Scons,结合Editplus搭建开发环境
- 无图无定位新版css步骤条兼容ie6+
- poj 1088 动态规划
- 第45篇 js操作打开本地程序
- 原生addClass 方法 添加类函数
- leetcode算法:Island Perimeter
- javascript中的XML
- 设计通用的Adapter
- 初识:java虚拟机的内存划分
- Linux Curl命令
- 巧用JSON
- spring Boot 上传文件,10天后,不能上传的bug
- Python学习笔记二:函数式编程
- logrotate 日志轮询(转存)
- IOC容器:Unity
- swift 3.0 正则表达式查找/替换字符
热门文章
- java_对象序列化、反序列化
- PHP 字符串常用操作
- java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List com.yunweather.app.db.YunWeatherDB.loadProvinces()' on a null object reference
- JBPM学习第5篇:Mysql配置
- radio 实现点击两次 第一次点击选中第二次点击取消
- JS学习-基础运动
- C#mail发送
- 记开发个人图书收藏清单小程序开发(四)DB设计
- Tomcat启动阻塞变慢
- Spring学习之-各注解的含义总结