spring之ioc詳解三註解注入
指定乙個包路徑,spring會自動掃瞄該包及其子包所有元件
類,當發現元件類定義前有特定的註解標記時,就將該元件納
入到spring容器。等價於原有xml配置中的定義功能。
元件掃瞄可以替代大量xml配置的定義。
step1,在配置檔案當中,新增
讓容器掃瞄指定的包及其子包下面的類。
step2,在類前面新增
@component
注1:預設情況下,bean的id是首字母小寫之後的類名,如果想重新
命名id,可以使用@component("")形式。
注2:@repository:用於持久層元件
@service:用於業務層元件
@controller:用於控制器元件
@postconstruct 初始化方法
@predestroy 銷毀方法
@scope("prototype")
注: 預設值是"singleton"
@lazy(true)
注: 預設值是false。
在預設情況下,容器啟動之後,會將所有作用域
為"singleton"的bean例項化。如果延遲載入,則不會將
這些bean例項化。
@autowired和@qualifier
@autowired可以用於構造器注入,也可以用於set方式注入。
1)構造器注入
a. @autowired加在構造器前面。
b. @qualifier加在引數前面,用於
指定要注入的bean的id。
注:注入的物件單例時,@qualifier可省略。
此時,spring按照型別匹配引數。
2)set方式注入
a.@autowired加在set方法前面。
b. @qualifier加在引數前面,用於指定要注入的bean的id。
注:注入的物件單例時,@qualifier可省略。
此時,spring按照型別匹配引數。
c.@autowired也可以直接新增到屬性前面,
此時,可以不寫set方法。
@resource
a.該標註只支援set方式注入
b.可以將該標註加到set方法前面,name屬性用於指定要
注入的bean的id。
c.該標註也可以直接新增到屬性前,此時,可以不寫set方法。
@value
用法一@value("#")
用法二@value("基本型別的值")
注:@value可以用在屬性前,也可以用在set方法前面。
Spring入門(三)之IoC
一 ioc定義 ioc,即控制反轉。開發者在使用類的例項之前,需要先建立物件的例項。但是ioc將建立例項的任務交給ioc容器,這樣開發應用 時只需要直接使用類的例項,這就是ioc。在討論控制反轉這個概念的過程中,martin fowler提出了乙個更為準確的概念,叫做依賴注入 dependency ...
Spring架構詳解之Ioc容器的擴充套件點
現在還有乙個問題就是如何讓這些bean物件有一定的擴充套件性,就是可以加入使用者的一些操作。那麼有哪些擴充套件點呢?spring又是如何呼叫到這些擴充套件點的?對spring的ioc容器來說,主要有這麼幾個。beanfactorypostprocessor,beanpostprocessor。他們分...
Spring中IOC和AOP詳解
我們是在使用spring框架的過程中,其實就是為了使用ioc容器 依賴注入,和aop 面向切面程式設計,這兩個是spring的靈魂。主要用到的設計模式有工廠模式和 模式。ioc就是典型的工廠模式,通過sessionfactory去注入例項。aop就是典型的 模式的體現。在傳統的程式設計中,當呼叫者需...