spring之IOC詳解三

2021-07-10 06:10:24 字數 1320 閱讀 1789

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就是典型的 模式的體現。在傳統的程式設計中,當呼叫者需...