Spring基礎使用(一)--------IOC、Bean的XML方式

dunne21發表於2021-09-09
基礎

1、xml檔案基礎格式:

2、初始化容器方法:

  • 檔案的絕對路徑:
        FileSystemXmlApplicationContext context1=new FileSystemXmlApplicationContext("C:/configuration.xml")
  • Classpath載入
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("configuration.xml");
IOC

1、Bean注入的2種方式:

  • set方法注入:透過set方法進行注入。
    
  • 構造方法注入:透過構造方法進行注入
    
Bean的XML裝配

1、Bean的作用域

  • singleton:單例模式
  • prototype:原型模式
  • request:當前request內有效
  • session:當前session內有效
  • global session:當前global session內有效

2、Bean初始化和銷燬方法

初始化方法:

  • 實現InitializingBean介面,重寫afterPropertiesSet()方法
  • 在xml檔案中,bean定義的地方指定init-method

銷燬方法:

  • 實現DisposableBean介面,重寫destroy()方法
  • 在xml檔案中,bean定義的地方指定destroy-method

全域性初始化和銷燬:

透過default-init-methoddefault-destroy-method關鍵字進行指定。

3、Aware

如果類實現了ApplicationContextAware介面,則需要重寫介面中的setApplicationContext方法,在IOC容器進行初始化之後,會自動呼叫setApplicationContext方法。setApplicationContext方法的引數就是IOC容器物件本身。

如果類實現了BeanNameAware介面,則需要重寫介面中的setBeanName方法,在Bean例項化的時候,會自動呼叫setBeanName方法。

還有其他的Aware介面:

  • BeanFactoryAware:獲得當前bean Factory,從而呼叫容器的服務
  • MessageSourceAware:得到message source從而得到文字資訊
  • ApplicationEventPublisherAware:應用時間釋出器,用於釋出事件
  • ResourceLoaderAware:獲取資源載入器,可以獲得外部資原始檔

4、Bean的自動裝配(4種型別)

在xml檔案中,透過default-autowire欄位進行指定裝配模式。而不需要在bean中使用property或者constructor-arg

  • No:不做動作
  • byName:根據類的成員的名稱,從容器中進行匹配並裝配。需要set函式支援。
  • byType:根據類的成員的型別,從容器中進行匹配並裝配。需要set函式支援。如果存在多個同型別物件,則丟擲異常。
  • Constructor:根據類的成員的型別,從容器中進行匹配並裝配。需要建構函式支援。

5、Resources:實現對底層資源的訪問

Spring內建6種Resource型別:UrlResource,ClassPathResource,FileSystemResource,ServletContextResource,InputStreamResource,ByteArrayResource

  • UrlResource:URL對應的資源
  • ClassPathResource:類路徑下的資源
  • FileSystemResource:檔案系統資源
  • ServletContextResource:ServletContext對應資源
  • InputStreamResource:輸入流資源
  • ByteArrayResource:位元組陣列資源

8、ResourceLoader介面:資源載入器

ResourceLoader是一個用於資源載入的介面。Spring中的ApplicationContext實現了ResourceLoader介面,所以可以透過ApplicationContext進行實際資源的載入。

載入方式有4種:

  • classpath字首:從classpath中獲取對應的資原始檔
  • file字首:從檔案系統中獲取對應的資原始檔,需要絕對路徑
  • http字首:從網路中獲取對應的資原始檔
  • 無字首:從ApplicationContext所在目錄中獲取對應的資原始檔

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1600/viewspace-2800335/,如需轉載,請註明出處,否則將追究法律責任。

相關文章