春天

Spring - IoC容器

Spring - IoC容器

Spring - IoC容器

Ioc (Inversion of Control)是彈簧係統的核心。容器處理spring應用程序從啟動到湮滅的java對象。IoC增加了對使用的適應性和控製,並為應用程序的執行人員提供了一個安排普通舊Java對象的焦點。在Spring IoC中,我們可以安排條目是否為單例,什麼時候創建和刪除條目。spring holder利用依賴注入(DI)來處理對象。Spring伴隨著一些holder執行,這些執行分為兩類。

  • Bean工廠
  • 應用程序上下文

BeanFactory

Bean Factory為DI提供了真正的幫助,具有組織化的特點。bean .factory. beanfactory接口。BeanFactory依賴於加工工廠的配置設計,它使豆子具有主要的區別,它可以製造任何種類的豆子(與傳統的工業設施設計相比,它可以製造類似種類的豆子)。

BeanFactory實現

可以訪問BeanFactory的一些執行;然而,最著名的是XmlBeanFactory,它將來自XML記錄的bean進行堆棧。可以給XmlBeanFactory一些資源執行,以便XmlBeanFactory可以堆棧來自不同源的XML記錄。最常用的資源執行是-

  • ByteArrayResource
  • ClassPathResource
  • FileSystemResource
  • InputStreamResource
  • UrlResource

延遲加載

在BeanFactory中,豆子是緩慢堆疊的,這意味著豆子是在製造豆子的時候堆疊起來的。然而,這些bean是在調用getBean()策略時生成的。

例子:

public類Calc {private int salary;私人int獎金;public Calc() {System.out。println(“Bean創建”);}公共int getSalary(){返回工資;}公共無效setSalary(int salary) {this。工資=工資;}公共int getBonus(){返回獎金;}公共無效setBonus(int bonus){此。Bonus =獎金;}公共int getTotal(){返回工資+獎金;}}公共類DisplayMessage{私有字符串消息;

public DisplayMessage()Spring應用程序上下文

ApplicationContext是高級Spring holder,其特征是org.springframework.context.ApplicationContext接口。應用程序支持Bean Factory所支持的規定,但還提供了額外的組件,如-

  • 有用的MessageSource訪問(用於i18n)
  • ApplicationEvent發布事件處理
  • 堆棧資產的通用方法
  • 自動注冊BeanPostProcessor
  • 自動BeanFactoryPostProcessor注冊

Spring ApplicationContext實現

ApplicationContext有幾個執行是可訪問的,但在所有執行中最常用的是-

  • classpathxmlapplicationcontext—從以類方式訪問的XML記錄加載文檔bean設置。
  • filesystemxmlapplicationcontext—從文檔框架中可訪問的XML記錄加載文檔bean設置。
  • xmlwebapplicationcontext -適用於web應用程序,並加載在web應用程序中可訪問的bean安排。

正如我們討論和檢查的那樣,BeanFactory緩慢地堆疊bean;然而,這不是應用程序上下文的情況。bean的示例是在應用程序設置的情況下創建的。

例子:

{system . out。println(“顯示消息Bean”);} public void setMessage(字符串消息)Message =消息;} public String getMessage(){返回this.message;}}

Baidu
map