首页 > 代码库 > 自己实现的依赖注入小玩具
自己实现的依赖注入小玩具
package app10e.util; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; import com.mchange.v2.c3p0.DataSources; import app10d.action.GetProductsAction; import app10d.action.SaveProductAction; import app10d.dao.ProductDAO; import app10d.dao.ProductDAOImpl; import app10d.validator.ProductValidator; public class DependencyInjector { private DataSource dataSource; public void start() { //使用C3P0连接池 ComboPooledDataSource cpds=new ComboPooledDataSource(); try { cpds.setDriverClass("com.mysql.jdbc.Driver"); } catch(Exception e) { e.printStackTrace(); } cpds.setJdbcUrl("jdbc:mysql://localhost:3306/test"); cpds.setUser("root"); cpds.setPassword("123"); cpds.setMinPoolSize(5); cpds.setAcquireIncrement(5); cpds.setMaxPoolSize(20); dataSource=cpds; } public void shutDown() { try { DataSources.destroy(dataSource); } catch(Exception e) { e.printStackTrace(); } } public Object getObject(Class type) { if(type==ProductValidator.class) { return new ProductValidator(); } else if(type==ProductDAO.class) { return createProductDAO(); } else if(type==GetProductsAction.class) { return createGetProductAction(); } else if(type==SaveProductAction.class) { return createSaveProductAction(); } return null; } private GetProductsAction createGetProductAction() { GetProductsAction getProductsAction=new GetProductsAction(); getProductsAction.setProductDAO(createProductDAO()); return getProductsAction; } private SaveProductAction createSaveProductAction() { SaveProductAction saveProductAction=new SaveProductAction(); saveProductAction.setProductDAO(createProductDAO()); return saveProductAction; } private ProductDAO createProductDAO() { ProductDAO productDAO=new ProductDAOImpl(); productDAO.setDataSource(dataSource); return productDAO; } }
自己实现的依赖注入小玩具
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。