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

資訊專欄INFORMATION COLUMN

使用Spring annotation編程的快感

BWrong / 3563人閱讀

摘要:創(chuàng)建應(yīng)用對象之間協(xié)作關(guān)系的行為通常稱為裝配中有三種裝配的方法在中顯式配置在中顯式配置隱式的發(fā)現(xiàn)機(jī)制和自動(dòng)裝配這兒要說的就是第三個(gè)自動(dòng)發(fā)現(xiàn)與裝配,它會(huì)帶來編程的快感。

一、前言

Spring的Bean Factory所實(shí)現(xiàn)的IoC輕量級容器,可以很方便地讓大家基于POJO開發(fā)JavaEE應(yīng)用程序。

創(chuàng)建應(yīng)用對象之間協(xié)作關(guān)系的行為通常稱為裝配

Spring中有三種裝配Bean的方法

在XML中顯式配置

在Java中顯式配置

隱式的bean發(fā)現(xiàn)機(jī)制和自動(dòng)裝配

這兒要說的就是第三個(gè)“自動(dòng)發(fā)現(xiàn)與裝配”,它會(huì)帶來編程的快感。

二、隱式的bean發(fā)現(xiàn)機(jī)制和自動(dòng)裝配

隱式配置分成兩步 1、組件掃描 2、自動(dòng)裝配

1、組件掃描

組件掃描可以通過XML配置實(shí)現(xiàn)

 
 

     
2、自動(dòng)裝配

spring自動(dòng)滿足bean之間的依賴,通過Autowired來進(jìn)行依賴的注入

@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都會(huì)有一個(gè)ID,我們通過@Component設(shè)置的,自動(dòng)掃描時(shí)會(huì)以類名首字母小寫為ID。如果想要自定義就要設(shè)置@Component的參數(shù)。

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

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

三、何來快感

工作最常用的是隱式配置,因?yàn)樽詣?dòng)掃描非常方便,但是有些情況下只能使用顯式的手動(dòng)配置。比如引入一些第三方庫,要想讓spring管理這個(gè)bean。不可能修改它的源碼。只能通過顯式配置。

1、@Component @Repository @Service @Controller

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

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

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

不過想要拋棄這幾個(gè)自動(dòng)發(fā)現(xiàn)候選組件,你得做一點(diǎn)兒額外得工作,那就是配置一下filter。


    
        
    

看到?jīng)],只需要在component-scan元素中,加入include-filter子元素即可。base-package設(shè)定為你的服務(wù)類所在的namespace,type設(shè)定為regex,expression設(shè)定為你的服務(wù)類類名所滿足的正則表達(dá)式。

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

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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/70748.html

相關(guān)文章

  • 2.走向自動(dòng)裝配

    摘要:走向自動(dòng)裝配模式注解裝配走向自動(dòng)裝配課程介紹手動(dòng)裝配自動(dòng)裝配自動(dòng)裝配是以手動(dòng)裝配為基礎(chǔ)實(shí)現(xiàn)的手動(dòng)裝配模式注解模式注解是一種用于聲明在應(yīng)用中扮演組件角色的注解。 2.走向自動(dòng)裝配 Spring 模式注解裝配 2-1 走向自動(dòng)裝配 課程介紹 spring framework手動(dòng)裝配 spring boot自動(dòng)裝配 spring boot自動(dòng)裝配是以spring framework手動(dòng)裝...

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

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

    pkwenda 評論0 收藏0
  • 慕課網(wǎng)_《Spring Boot 2.0深度實(shí)踐-初遇Spring Boot》學(xué)習(xí)總結(jié)

    時(shí)間:2018年04月08日星期日說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):https://www.imooc.com 教學(xué)源碼:無 學(xué)習(xí)源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 課程介紹 課程內(nèi)容 Spring Boot介紹 環(huán)境準(zhǔn)備 第一個(gè)Spring Boot項(xiàng)目 多模塊項(xiàng)目 打包和運(yùn)行 1-2 框架定位 showImg(https...

    hqman 評論0 收藏0
  • 慕課網(wǎng)_《探秘Spring AOP》學(xué)習(xí)總結(jié)

    時(shí)間:2017年09月03日星期日說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com 教學(xué)源碼:https://github.com/zccodere/s...學(xué)習(xí)源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 面向切面 課程章節(jié) 概覽 AOP使用 AOP原理 AOP開源運(yùn)用 課程實(shí)戰(zhàn) 課程總結(jié) 面向切面編程是一種...

    Tony_Zby 評論0 收藏0
  • 第12章 元編程與注解、反射 《Kotlin 項(xiàng)目實(shí)戰(zhàn)開發(fā)》

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

    joyqi 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<