1. 程式人生 > >Spring 基於註解的應用

Spring 基於註解的應用

Spring的核心IOC和DI: IOC(Inversion Of Controll)控制反轉:應用程式本身不負責依賴物件的建立過程了,把建立物件的過程交給容器去做,這種控制權的轉移就叫做IOC。 DI(Dependency Injection)依賴注入:動態的為依賴物件賦值的過程。

在使用Spring註解的步驟: A:指定註解掃描器的掃描範圍:

<context:component-scan base-package="com.xu"></context:component-scan>

B:在指定掃描範圍內查詢是否存在以下註解: @Repository:用來dao層,掃描到後生成的物件的id為當前類的簡單類名並且第一個字母小寫 @Service:用來業務層,掃描到後生成的物件的id為當前類的簡單類名並且第一個字母小寫 @Controller:用來控制層,掃描到後生成的物件的id為當前類的簡單類名並且第一個字母小寫 @Component:在不確定當前類屬於哪一層時使用,掃描到後生成的物件的id為當前類的簡單類名並且第一個字母小寫

@Resource:首先按照名稱查詢,如果找到則注入成功,如果沒有找到則按型別查詢,找到一個注入成功,找到多個報異常。 @Autowire:首先按照名稱查詢,如果找到則注入成功,如果沒有找到則按型別查詢,找到一個注入成功,找到多個報異常。

@Resource(name=“xx”):只按照名稱查詢,找到則注入成功,找不到注入失敗 @Autowire @Qualifier(name=“xx”):只按照名稱查詢,找到則注入成功,找不到注入失敗

@PostConstruct//指定在物件例項化後自動呼叫的方法,類上xml配置中的init-method屬性 @PreDestroy //在物件銷燬前自動呼叫的方法,類上xml配置中的destroy-method屬性

@Scope(“singleton”) //預設是單例模式 @Scope(“prototype”) @Lazy:如果使用單個類,沒有被其它類呼叫則可以直接產生懶載入行為。 如果類之間存在多層呼叫關係,則只有最頂層的類上加上了懶載入註解,其下的類上沒有加上懶載入註解則其下的類是立即載入, 如果加上了懶載入註解則產生懶載入,如果頂層類上沒有載入懶載入註解,則只在底層類上加上懶載入註解無效。