spring框架學習之ioc(二)
接著昨天的內容,下面開始ioc基於註解裝配相關的內容
在 classpath 中掃瞄元件
特定元件包括:
–@component: 基本註解, 標識了乙個受 spring 管理的元件
–@respository: 標識持久層元件
–@service: 標識服務層(業務層)元件
–@controller: 標識表現層元件
對於掃瞄到的元件, spring 有預設的命名策略: 使用非限定類名, 第乙個字母小寫. 也可以在註解中通過 value 屬性值標識元件的名稱
用乙個簡單的**演示一下
1package
per.zww.spring.beans.annotation;23
import
org.springframework.stereotype.component;45
@component
6public
class
testobject
10 }
1package
per.zww.spring.beans.annotation.respository;23
import
org.springframework.stereotype.repository;45
@repository("userrepository")
6public
class
userrepository
10 }
xml:
<context:component-scan
base-package
="per.zww.spring.beans.annotation.*"
>
context:component-scan
>
測試:
packageper.zww.spring.beans.annotation;
import
import
public
class
main
}
另外我們可以過濾掉一些類:
–子節點表示要包含的目標類
–子節點表示要排除在外的目標類
元件裝配:bean屬性的依賴
元素還會自動註冊 autowiredannotationbeanpostprocessor 例項, 該例項可以自動裝配具有 @autowired 和 @resource 、@inject註解的屬性.
當 ioc 容器裡存在多個型別相容的 bean 時, 通過型別的自動裝配將無法工作. 此時可以在 @qualifier 註解裡提供 bean 的名稱. spring 允許對方法的入參標註 @qualifiter 已指定注入 bean 的名稱
用**來演示一下元件裝配
packageper.zww.spring.beans.annotation.service;
public
inte***ce
userservice
packageper.zww.spring.beans.annotation.service;
import
org.springframework.stereotype.service;
@service("userservice")
public
class userserviceimp implements
userservice
}
package per.zww.spring.beans.annotation.controller;import org.springframework.beans.factory.annotation.autowired;
import org.springframework.beans.factory.annotation.qualifier;
import org.springframework.stereotype.controller;
import per.zww.spring.beans.annotation.service.userservice;
@controller
public class usercontroller
}
測試:
packageper.zww.spring.beans.annotation;
import
import
import
per.zww.spring.beans.annotation.controller.usercontroller;
import
per.zww.spring.beans.annotation.service.userservice;
public
class
main
}
spring 還支援 @resource 和 @inject 註解,這兩個註解和 @autowired 註解的功用類似,但推薦使用@autowired註解。
spring框架Ioc學習
理解 1 在ioc沒有出現之前,如果物件a需要依賴物件b,那麼在a初始化或執行到某乙個點的時候,需要去建立或者呼叫已經建立的物件b.不管是建立還是直接呼叫,控制權都在自己手裡.2 ioc出現之後,如果物件a需要依賴物件b,這是會有乙個容器來管理這種需求,將物件b注入到物件a中,這樣乙個容器我們稱之為...
Spring框架(二)IOC控制反轉
現階段裡隨著框架的深入式學習,環境的編寫越來越多,相反程式碼卻逐步縮減 匯入核心容器的四個jar包外加乙個日誌jar 到了spring這裡嘞,依然躲不過 xml 的對映,相比於mybatis環境的 dtd,spring則是改換成了dtd公升級版的 schma,從而更具擴充套件性。就像下面的一段xml...
spring框架溫習 IOC
ioc控制反轉,降低 之間的耦合度。把物件的建立交給spring來完成 實現方法 1.xml配置檔案方式 2.註解方式 使用的技術 xml配置檔案 dom4j解析xml檔案 工廠設計模式 反射 實現原理 問題 controller需要呼叫service,不通過new 修改乙個地方,需要找找找改改改 ...