成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Spring - 裝配Bean

CNZPH / 977人閱讀

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

裝配Bean

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

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

Spring配置的可選方案

在XML中進(jìn)行顯示配置

在Java中進(jìn)行顯示配置

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

自動(dòng)化裝配bean

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

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

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

@ComponentScan:默認(rèn)掃描當(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)掃描當(dāng)前包下的@Component
 * 也可以啟用 XML 
 */
@Configuration
@ComponentScan
public class CDPlayerConfig {

    /**
     * 隨機(jī)選擇一個(gè)CompactDisc來(lái)播放
     * 這個(gè)例子可以看出@Bean的強(qiáng)大功能
     * 
     * 還可以指定名稱
     */
    @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;
        }
        
    }
    
}
通過(guò)Java代碼裝配bean

顯示配置,JavaConfig是更好的方案,因?yàn)樗鼮閺?qiáng)大、類型安全并且對(duì)重構(gòu)友好

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

通過(guò)XML裝配bean

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

創(chuàng)建和管理Spring XML配置文件一種簡(jiǎn)便方式: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)

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

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

自動(dòng)化和顯示配置不是互斥的

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

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

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

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

組件掃描 或@Componenet

裝配bean:自動(dòng)化配置、基于Java的顯示配置以及基于XML的顯示配置

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/71161.html

相關(guān)文章

  • Spring核心 裝配Bean

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

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

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

    OpenDigg 評(píng)論0 收藏0
  • Spring詳解3.Bean裝配

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

    endiat 評(píng)論0 收藏0
  • Spring - 高級(jí)裝配

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

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

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

    Ververica 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<