国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用Spring annotation編程的快感

BWrong / 3570人閱讀

摘要:創建應用對象之間協作關系的行為通常稱為裝配中有三種裝配的方法在中顯式配置在中顯式配置隱式的發現機制和自動裝配這兒要說的就是第三個自動發現與裝配,它會帶來編程的快感。

一、前言

Spring的Bean Factory所實現的IoC輕量級容器,可以很方便地讓大家基于POJO開發JavaEE應用程序。

創建應用對象之間協作關系的行為通常稱為裝配

Spring中有三種裝配Bean的方法

在XML中顯式配置

在Java中顯式配置

隱式的bean發現機制和自動裝配

這兒要說的就是第三個“自動發現與裝配”,它會帶來編程的快感。

二、隱式的bean發現機制和自動裝配

隱式配置分成兩步 1、組件掃描 2、自動裝配

1、組件掃描

組件掃描可以通過XML配置實現

 
 

     
2、自動裝配

spring自動滿足bean之間的依賴,通過Autowired來進行依賴的注入

@Component 
public class Waiter { 
    public void service(String name){ 
        System.out.println("service to " + name); 
    } 
}

@Component 
public class Store { 
    @Autowired 
    private Waiter waiter; 

    public void service(){ 
        waiter.service("kiwi"); 
    } 
}

spring中所有bean都會有一個ID,我們通過@Component設置的,自動掃描時會以類名首字母小寫為ID。如果想要自定義就要設置@Component的參數。

@ComponentScan默認是掃描當前包以及子包。如果想設置其它包或者多個包,可以通過設置該注解的basePackages。但是這種是以字符串形式不利于重構。可以使用另外一個屬性backPackageClasses指定某個類(開發中常用標記接口),然后spring會掃描這個類下面的包與子包。

可以使用java規范的@Named替換@Component,也可以使用java規范的@Inject去替換@Autowired

三、何來快感

工作最常用的是隱式配置,因為自動掃描非常方便,但是有些情況下只能使用顯式的手動配置。比如引入一些第三方庫,要想讓spring管理這個bean。不可能修改它的源碼。只能通過顯式配置。

1、@Component @Repository @Service @Controller

默認的,以@Component @Repository @Service @Controller或者被@Component注解的自定義注解所注解的類,是唯一的自動發現候選組件。
開啟組件掃描后,你想要自動裝配兩個對象的話,就無需配置XML了,只要在被引用的對象的類上加上注解:@Component或其它幾個,然后在引用方類中,定義被引用對象的私有變量上加上注解:@Autowired,就搞定了(參考“自動裝配”小節的例子)。是不是很爽。

2、拋棄@Component @Repository @Service @Controller

你甚至可以拋棄這幾個自動發現候選組件。這樣的話,只需要利用@Autowired注解,就可以裝配相關的對象了。想象一下,你定義了許多服務類,然后你想要引用它們時,只需定義一個服務類屬性,然后加上@Autowired注解,Spring框架就自動為你裝配好了,是不是很爽。

不過想要拋棄這幾個自動發現候選組件,你得做一點兒額外得工作,那就是配置一下filter。


    
        
    

看到沒,只需要在component-scan元素中,加入include-filter子元素即可。base-package設定為你的服務類所在的namespace,type設定為regex,expression設定為你的服務類類名所滿足的正則表達式。

OK搞定了。接下來你就可以只使用@Autowired注解來裝配任何一個你想要的服務類了。

參考文檔:http://blog.csdn.net/u0117192...
參考文檔:Spring Framework Reference Document

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/70748.html

相關文章

  • 2.走向自動裝配

    摘要:走向自動裝配模式注解裝配走向自動裝配課程介紹手動裝配自動裝配自動裝配是以手動裝配為基礎實現的手動裝配模式注解模式注解是一種用于聲明在應用中扮演組件角色的注解。 2.走向自動裝配 Spring 模式注解裝配 2-1 走向自動裝配 課程介紹 spring framework手動裝配 spring boot自動裝配 spring boot自動裝配是以spring framework手動裝...

    rose 評論0 收藏0
  • 第一章--Spring之旅

    摘要:兩種方式來表示的應用上下文。日志,事務管理和安全這樣的系統服務經常融入到具有核心業務邏輯的組件中去,這些系統服務通過被稱為橫切關注點。容器使用管理構成應用的組件,他會創建相互協作的組件之間的關聯。的生命周期四俯瞰的風景線模塊,,,, 完整代碼請見:https://github.com/codercuixi...為了降低Java開發的復雜性,Spring采用了以下4種策略: 基于poj...

    pkwenda 評論0 收藏0
  • 慕課網_《Spring Boot 2.0深度實踐-初遇Spring Boot》學習總結

    時間:2018年04月08日星期日說明:本文部分內容均來自慕課網。@慕課網:https://www.imooc.com 教學源碼:無 學習源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 課程介紹 課程內容 Spring Boot介紹 環境準備 第一個Spring Boot項目 多模塊項目 打包和運行 1-2 框架定位 showImg(https...

    hqman 評論0 收藏0
  • 慕課網_《探秘Spring AOP》學習總結

    時間:2017年09月03日星期日說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com 教學源碼:https://github.com/zccodere/s...學習源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 面向切面 課程章節 概覽 AOP使用 AOP原理 AOP開源運用 課程實戰 課程總結 面向切面編程是一種...

    Tony_Zby 評論0 收藏0
  • 第12章 元編程與注解、反射 《Kotlin 項目實戰開發》

    摘要:第章元編程與注解反射反射是在運行時獲取類的函數方法屬性父類接口注解元數據泛型信息等類的內部信息的機制。本章介紹中的注解與反射編程的相關內容。元編程本質上是一種對源代碼本身進行高層次抽象的編碼技術。反射是促進元編程的一種很有價值的語言特性。 第12章 元編程與注解、反射 反射(Reflection)是在運行時獲取類的函數(方法)、屬性、父類、接口、注解元數據、泛型信息等類的內部信息的機...

    joyqi 評論0 收藏0

發表評論

0條評論

BWrong

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<