依賴注入和JavaBean

來源:互聯網
上載者:User

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、利用介面注入


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.