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实例用于测试,而不必关心他的实现。
(3)依赖注入的三种方式
1、直接卸载构造函数中
2、直接利用set方法实现
3、利用接口注入
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。