依赖注入和JavaBean
1什么是JavaBean javabean是符合特定规范的java组件,它具有一个无参的构造方法,和由getter/setter提供的标准属性供外部访问。JavaBean即可以作为数据对象的载体,也可以被设计为业务组件实现的商业逻辑。 2容器 容器是为了某些组件运行提供必需要运行的软件环境,spring提供的容器可以管理所有的轻量级java组件,包括JavaBean、JNDI和所有能被控制的实例化的java对象,同时也是支持依赖注入的容器(Dependency Inejection)。 public class BookService { private BookDao bookDao; public void setBookDao(BookDao bookDao) { this.bookDao = bookDao; } public List<book> listBookByAuthor(String author) { List<Book> books = bookDao.listAll(); Iterator<Book> it = books.iterator(); while(it.hasNext) { if(!it.next().getAuthor.equals(author)) it.remove(); } return books; } } 上面这段代码的bookDao方法不是由bookService创建的,而是由DI容器创建的实例,并且通过setBookDao()来注入. (1)BookService 不必关心如何创建BookDao实例,一不必关心BookDao实例如何实现,只要使用它就可以了。 (2)BookDao实例由DI容器管理,可以在多个组件之间共享。 (3)便于测试bookService实例,可以自己编写一个MockBookDao实例用于测试,而不必关心他的实现。 使用实例需要告诉容器个组件之间的依赖关系,写XML文件 (3)依赖注入的三种方式 1、直接卸载构造函数中 2、直接利用set方法实现 3、利用接口注入 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |