通过配置文件切换接口的实现类
来源:互联网 发布:正规淘宝刷钻平台 编辑:程序博客网 时间:2024/05/22 11:33
1.首先创建配置文件 switch.properties
type=jdbc#type=xml
2.代码中获取配置文件的方式
@WebServlet(urlPatterns="/InitServlet",name="InitServlet",loadOnStartup=1)public class InitServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override public void init() throws ServletException { CustomerDAOFactory.getInstance().setType("jdbc"); InputStream in = getServletContext().getResourceAsStream("/WEB-INF/classes/switch.properties"); Properties properties = new Properties(); try { properties.load(in); String type = properties.getProperty("type"); CustomerDAOFactory.getInstance().setType(type); } catch (IOException e) { e.printStackTrace(); } }}
3.切换接口实现类的方式,是通过Factory的方式实现的,Factory一般是单例的方式
CustomerFactory
public class CustomerDAOFactory { private Map<String, CustomerDAO> map = new HashMap<String, CustomerDAO>(); public CustomerDAOFactory() { map.put("xml", new CustomerDAOXMLImpl()); map.put("jdbc", new CustomerDAOJdbcImpl()); } private static CustomerDAOFactory instance = new CustomerDAOFactory(); public static CustomerDAOFactory getInstance() { return instance; } private String type = null; public void setType(String type) { this.type = type; } public CustomerDAO getCustomerDAO() { return map.get(type); }}
4.切换接口实现类的具体代码在CustomerServlet类中:
private CustomerDAO customerDAO = CustomerDAOFactory.getInstance().getCustomerDAO();
阅读全文
1 0
- 通过配置文件切换接口的实现类
- Java中通过修改配置文件实现接口或抽象类子类的切换
- JDBC之将Dao的实现通过配置文件切换成Spring的实现
- VC++ 通过INI配置文件,实现多国语言切换界面
- C#学习- 通过基于接口的编程来实现数据库的切换
- DirectShow中通过IAMStreamSelect接口实现多音轨切换
- DirectShow中通过IAMStreamSelect接口实现多音轨切换
- 通过style实现Activity的界面切换
- 通过点击按钮实现ViewPager的切换
- 通过配置文件实现通用的jdbc链接
- 通过接口获取所有实现类以及通过注解获取实现类的思路
- java根据properties配置文件来实现功能模块的动态切换
- 根据配置文件来切换不同服务的实现
- 通过继承Thread类和通过实现Runnable接口 创建线程的区别
- 通过动态获取资源ID,执行接口回调-----来实现日夜模式切换
- java 通过继承类AbstractRoutingDataSource 而实现的 多数据源切换 的 缺陷(二)
- android如何通过TextView实现不同的Activity的切换
- iOS: 通过addChildViewController实现 Segment 下的 View 的切换
- scala基础系列一
- 递归与分治策略之大整数的乘法
- 深入理解javascript原型和闭包(14)——从【自由变量】到【作用域链】
- [莫比乌斯反演+容斥+分块求和] BZOJ2301: [HAOI2011]Problem b
- static_cast、dynamic_cast、const_cast和reinterpret_cast总结
- 通过配置文件切换接口的实现类
- POJ
- Interaction System使用入门之瞬移(瞬间拥有波风水门的飞雷神之术)
- 深入理解javascript原型和闭包(15)——闭包
- Java基础教程38-异常-try-catch
- 1252: Encoding
- 关于 PHP 中 echo 和 print 和 '.' 运算符混合的运算分析
- Java泛型详解
- Oracle增删改查