微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

依赖注入和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、利用接口注入

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐