成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Spring - 裝配Bean

CNZPH / 883人閱讀

摘要:裝配任何一個成功的應(yīng)用都是由多個為了實現(xiàn)某個業(yè)務(wù)目標而相互協(xié)作的組件構(gòu)成的創(chuàng)建應(yīng)用對象之間協(xié)作關(guān)系的行為通常稱為裝配,這也是依賴注入配置的可選方案在中進行顯示配置在中進行顯示配置隱式的發(fā)現(xiàn)機制和自動裝配自動化裝配組件掃描會自動發(fā)現(xiàn)應(yīng)用上下文

裝配Bean

任何一個成功的應(yīng)用都是由多個為了實現(xiàn)某個業(yè)務(wù)目標而相互協(xié)作的組件構(gòu)成的

創(chuàng)建應(yīng)用對象之間協(xié)作關(guān)系的行為通常稱為裝配(wiring),這也是依賴注入(DI)

Spring配置的可選方案

在XML中進行顯示配置

在Java中進行顯示配置

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

自動化裝配bean

組件掃描(component scanning):Spring會自動發(fā)現(xiàn)應(yīng)用上下文中所創(chuàng)建的bean

自動裝配(autowiring):Spring自動滿足bean之間的依賴

設(shè)置組件掃描的基礎(chǔ)包

@ComponentScan:默認掃描當(dāng)前所在的包

@ComponentScan("soundsystem"):表明你所設(shè)置的是基礎(chǔ)包

@ComponentScan(basePackages="soundsystem")/@ComponentScan(basePackages={"soundsystem", "video"}):更清晰表明設(shè)置的基礎(chǔ)包

@ComponentScan(basePackageClasses={CDPlayer.class, DVDPlayer.class}):掃描這些類所在的包

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

/**
 * 自動掃描當(dāng)前包下的@Component
 * 也可以啟用 XML 
 */
@Configuration
@ComponentScan
public class CDPlayerConfig {

    /**
     * 隨機選擇一個CompactDisc來播放
     * 這個例子可以看出@Bean的強大功能
     * 
     * 還可以指定名稱
     */
    @Bean(name="randomDisc")
    public CompactDisc randomBeatlesCD(){
        int choice = (int) Math.floor(Math.random() * 4);
        if(choice == 0){
            return new SgtPeppers();
        } else if(choice == 1) {
            return null;
        } else if(choice == 2) {
            return null;
        } else {
            return null;
        }
        
    }
    
}
通過Java代碼裝配bean

顯示配置,JavaConfig是更好的方案,因為它更為強大、類型安全并且對重構(gòu)友好

構(gòu)造器和Setter方法只是@Bean方法的兩個簡單樣例

通過XML裝配bean

需要在配置文件的頂部聲明多個XML模式(XSD)文件,這些文件定義了配置Spring的XML元素

創(chuàng)建和管理Spring XML配置文件一種簡便方式:https://spring.io/tools/sts STS>File>New>Spring Bean Configuration File

聲明bean的方式:使用元素指定class屬性

借助構(gòu)造器注入初始化bean:元素和使用Spring3.0所引入的c-命名空間

c:cd-ref="compactDisc": c(命名空間前綴) cd(構(gòu)造器參數(shù)名) ref(注入bean引用) compactDisc(要注入的bean的ID)

強依賴使用構(gòu)造器注入,可選依賴使用屬性注入

導(dǎo)入和混合配置

自動化和顯示配置不是互斥的

@Import注解可以導(dǎo)入JavaConfig到另一個JavaConifg中,或者在更高級類中把多個JavaConfig組合在一起

@ImposrtResource注解,可以裝配xml到JavaConfig中

XML導(dǎo)入另一個XML

bean可以在XML中導(dǎo)入JavaConfig

組件掃描 或@Componenet

裝配bean:自動化配置、基于Java的顯示配置以及基于XML的顯示配置

引用:《Spring In Action 4》第2章

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/71161.html

相關(guān)文章

  • Spring核心 裝配Bean

    摘要:它的構(gòu)造器上添加了注解,這表明當(dāng)創(chuàng)建的時候,會通過這個構(gòu)造器來進行實例化并且會傳入一個可設(shè)置給類型的通過自動裝配,將一個注入到之中注解不僅能夠用在構(gòu)造器上,還能用在屬性的方法上。 Spring配置的可選方案 Spring容器負責(zé)創(chuàng)建應(yīng)用程序中的bean并通過DI來協(xié)調(diào)這些對象之間的關(guān)系。當(dāng)描述bean如何進行裝配時,Spring具有非常大的靈活性,它提供了三種主要的裝配機制: 在XM...

    wanglu1209 評論0 收藏0
  • Spring總結(jié)(一)

    摘要:如果這個類的方法有修飾,就成為第二種的裝配方式代碼生成要自動裝配的類要保留默認構(gòu)造函數(shù),需要裝配的屬性使用來裝配。顯示裝配分為兩種,一種是代碼裝配,一種是裝配。和相比,上面這種形式的中的是調(diào)用默認構(gòu)造函數(shù)生成的。 Bean的自動裝配 通過@ComponentScan掃描發(fā)現(xiàn)將要裝配到ApplicationContext中的Bean。@ComponentScan中如果沒有寫包名,那么默...

    OpenDigg 評論0 收藏0
  • Spring詳解3.Bean裝配

    摘要:的依賴關(guān)系,根據(jù)依賴關(guān)系配置完成之間的裝配。的行為信息,如生命周期范圍及生命周期各過程的回調(diào)函數(shù)。使用該種裝配模式時,優(yōu)先匹配參數(shù)最多的構(gòu)造函數(shù)。如果提供了默認的構(gòu)造函數(shù),則采用否則采用進行自動裝配。 點擊進入我的博客 1 Spring容器與Bean配置信息 Bean配置信息 Bean配置信息是Bean的元數(shù)據(jù)信息,它由一下4個方面組成: Bean的實現(xiàn)類 Bean的屬性信息,如數(shù)...

    endiat 評論0 收藏0
  • Spring - 高級裝配

    摘要:高級裝配條件化的自動裝配與歧義性的作用域表達式語言環(huán)境與可以為不同的環(huán)境提供不同的數(shù)據(jù)庫配置加密算法等注解可以在類級別和方法級別,沒有指定的始終都會被創(chuàng)建的方式配置不同環(huán)境所需要的數(shù)據(jù)庫配置會搭建一個嵌入式的數(shù)據(jù)庫模式定義在測試數(shù)據(jù)通過加 高級裝配 Spring profile 條件化的bean 自動裝配與歧義性 bean的作用域 Spring表達式語言 環(huán)境與profile p...

    binta 評論0 收藏0
  • 慕課網(wǎng)_《Spring入門篇》學(xué)習(xí)總結(jié)

    摘要:入門篇學(xué)習(xí)總結(jié)時間年月日星期三說明本文部分內(nèi)容均來自慕課網(wǎng)。主要的功能是日志記錄,性能統(tǒng)計,安全控制,事務(wù)處理,異常處理等等。 《Spring入門篇》學(xué)習(xí)總結(jié) 時間:2017年1月18日星期三說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示例源碼:https://github.com/zccodere/s...個人學(xué)習(xí)源碼:https://git...

    Ververica 評論0 收藏0

發(fā)表評論

0條評論

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