Spring問題整理 二

2021-08-29 03:22:30 字數 1287 閱讀 6827

(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...