设计模式之一----依赖注入
1,为什么会有依赖注入的设计模式? public class PersistenceManager{ public void store(Object object){ DataSource dataSource=...; Connection connection=dataSource.getConnection(); ......//把对象存储到数据库 } } 通常在javaee中,获得一个数据源常用方法是通过一次JNDI查询: dataSource dataSource=null; context=new InitialContext(); dataSource=(DataSource)context.lookup("java:/comp/env/jdbc/myDataSource"); 首先,可以看出这个类依赖这个数据源类。 可以看出进行一次JNDI查询,需要一个JNDI名,但是不能保证用到PersistenceManager这个类的应用程序所提供的JNDI名是一样的,则此时重用性就不能得到保证。所以才会有依赖注入的设计模式。 2,依赖注入原理:把依赖关系注入到字辈组件中,就是把一个组件设计成能为被依赖的那个组件提供入口,就像插座给插头提供插孔。 3,依赖注入的主要方式: (1)专门提供一个能够接受那个依赖关系的构造器
public class PersistenceManager{ private DataSource dataSource; public PersistenceManager(DataSource dataSource){ this.dataSource=dataSource; }
public void store(Object object){ Connection connection=dataSource.getConnection(); ......//把对象存储到数据库 } } (2)通过setter方法
public class PersistenceManager{ private DataSource dataSource; public void setDataSource(DataSource dataSource){ this.dataSource=dataSource; }
public void store(Object object){ Connection connection=dataSource.getConnection(); ......//把对象存储到数据库 } } (3)通过实现接口的方法 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |