(1)@component註解: 建立物件,建立自定義型別物件
子註解:@controller (控制層),@repository (持久化層),@service(業務邏輯層)
三個子註解跟@component註解作用一模一樣,都是作用在類上,只不過是為了區分模組,混用不會影響程式執行。使用時如果不給定引數則ioc容器中管理的物件預設id為類名首字母小寫,如果給定value值則管理的物件id為給定的value值。
(2)@autowired:自動注入(也叫自動裝配)
由spring提供:預設是按照型別注入,從spring的ioc容器查詢到相應型別的物件注入,如果型別有多個,則按照名稱注入(以屬性名作為id, 在容器查詢)
(3)@qualifier("指定要注入的bean id")
指定名稱,必須結合@autowired使用,單獨使用沒有意義
(4)@resource:自動注入
由jdk提供,預設的是按照名稱注入,如果名稱沒有匹配的,則按照型別注入(注意區分與@autowired註解的區別)
用法@resource(name = "指定預設的名稱")
(5)@configuration:指定該類為配置檔案類
(6)@componentscan :開啟註解,掃瞄包
用法:@componentscan(basepackages = "***.***")
相當於xml配置檔案中的(使用前記得新增命名空間與約束)
(7)@import : 匯入另外乙個配置
相當於xml配置檔案中的
(8)@propertyresource:匯入屬性檔案
相當於xml中的
(9)@value :給(簡單型別)字段賦值
可以用在set和屬性名上
(10)@bean:用在方法上
作用:建立物件,建立依賴的物件
(11)@scope:物件的範圍
可取值範圍:singleton(預設值),prototype,request,session,globe session
注意:如果物件帶有狀態,一般指定為多例模式,例如:connection,sqlsession,queryrunner等等
(12)@postconstruct:相當於bean標籤中的init-method屬性
(13)@predestroy:相當於bean標籤中的destroy-method屬性
(14)@lazy(true) :配置懶載入
注意:使用@autowired和@resource不需要提供set方法,如果有set方法,這兩個註解寫到set方法上也可以。
Spring學習篇 IoC知識整理 二
2.利用messagesource實現國際化 i18n spring目前提供了兩個messagesource的實現 resourcebundlemessagesource和staticmessagesource。它們都繼承nestingmessagesource以便能夠處理巢狀的訊息。staticm...
Spring學習篇 IoC知識整理 二
2.利用messagesource實現國際化 i18n spring目前提供了兩個messagesource的實現 resourcebundlemessagesource和staticmessagesource。它們都繼承nestingmessagesource以便能夠處理巢狀的訊息。staticm...
Spring知識整理
前言 在spring出現之前,由於各架構層之間的依賴很強,屬於耦合而且是緊耦合。各層物件的生命週期是由上層控制,下層定義或實現的改動都會影響到上層,在需求變更時 改變多,維護難度大。並且之前我們都是直接new的,物件生產機制效率較低。因此,出現了spring來解決相關問題。spring的核心是通過i...