欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Bean常用依賴注入方式詳解

 更新時(shí)間:2020年07月17日 09:36:26   作者:杯莫停、  
這篇文章主要介紹了Spring Bean常用三種依賴注入方式詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一般而言,Spring的依賴注入有三種:構(gòu)造器注入、setter注入以及接口注入。本文主要講構(gòu)造器注入與setter注入。

1、構(gòu)造器注入

為了讓Spring完成構(gòu)造器注入,我們需要去描述具體的類、構(gòu)造方法并設(shè)置構(gòu)造方法的對(duì)應(yīng)參數(shù)。

代碼如下:

public class Role {

  private Long id;

  private String roleName;

  private String note;

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public String getRoleName() {
    return roleName;
  }

  public void setRoleName(String roleName) {
    this.roleName = roleName;
  }

  public String getNote() {
    return note;
  }

  public void setNote(String note) {
    this.note = note;
  }

  public Role(String roleName, String note) {
    this.roleName = roleName;
    this.note = note;
  }

  public Role() {

  }

  public void run() {
    System.out.println("roleName:" + roleName + ";" + "note:" + note);
  }
}

這個(gè)時(shí)候是沒(méi)有辦法利用無(wú)參的構(gòu)造方法去創(chuàng)建對(duì)象的,為了使Spring能正確創(chuàng)建這個(gè)對(duì)象,需要在xml文件中加入如下bean:

<bean id="role1" class="com.ssm.chapter.pojo.Role">
    <constructor-arg index="0" value="總經(jīng)理" />
    <constructor-arg index="1" value="公司管理者" />
  </bean>

其中,constructor-arg元素用于定義類構(gòu)造方法的參數(shù),index用于定義參數(shù)的位置,而value是設(shè)置值,通過(guò)這樣定義spring便知道使用Role(String, String)這樣的構(gòu)造方法去創(chuàng)建對(duì)象了。

2、使用setter注入

setter注入是Spring最主流的注入方式,它消除了使用構(gòu)造器注入多個(gè)參數(shù)的可能性,可以把構(gòu)造參數(shù)聲明為無(wú)參的,然后使用setter注入為其設(shè)置對(duì)應(yīng)的值。需要注意的是,如果類中沒(méi)有構(gòu)造函數(shù),JVM會(huì)默認(rèn)創(chuàng)建一個(gè)無(wú)參構(gòu)造函數(shù)。xml代碼清單如下:

 <bean id="role2" class="com.ssm.chapter.pojo.Role" >
    <property name="roleName" value="高級(jí)工程師" />
    <property name="note" value="重要人員" />
  </bean>

接著編寫測(cè)試類即可:

ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-cfg.xml");
Role role = (Role) ctx.getBean("role2");
role.run();

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java 直接調(diào)用python腳本,并傳遞參數(shù)代碼實(shí)例

    java 直接調(diào)用python腳本,并傳遞參數(shù)代碼實(shí)例

    這篇文章主要介紹了java調(diào)用python腳本傳遞參數(shù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • JVM默認(rèn)時(shí)區(qū)為:Asia/Shanghai與java程序中GMT+08不一致異常

    JVM默認(rèn)時(shí)區(qū)為:Asia/Shanghai與java程序中GMT+08不一致異常

    這篇文章主要介紹了JVM默認(rèn)時(shí)區(qū)為:Asia/Shanghai與java程序中GMT+08不一致異常問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Spring?Boot配置文件的語(yǔ)法規(guī)則詳解(properties和yml)

    Spring?Boot配置文件的語(yǔ)法規(guī)則詳解(properties和yml)

    這篇文章主要介紹了Spring?Boot配置文件的語(yǔ)法規(guī)則,主要介紹兩種配置文件的語(yǔ)法和格式,properties和yml,對(duì)于配置文件也有獨(dú)立的文件夾存放,主要用來(lái)存放一些需要經(jīng)過(guò)變動(dòng)的數(shù)據(jù)(變量值),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • Spring的@Scope注解作用解析

    Spring的@Scope注解作用解析

    這篇文章主要介紹了Spring的@Scope注解作用解析,@Scope注解用于設(shè)置實(shí)例的作用域,默認(rèn)值是單實(shí)例,即當(dāng)IOC容器啟動(dòng)后就調(diào)用該方法創(chuàng)建對(duì)象放到IOC容器中,以后每次獲取就是直接從容器中獲取,需要的朋友可以參考下
    2023-11-11
  • Jenkins安裝與配置及漢化過(guò)程

    Jenkins安裝與配置及漢化過(guò)程

    這篇文章主要介紹了Jenkins安裝與配置及漢化過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • IDEA將Maven項(xiàng)目中指定文件夾下的xml等文件編譯進(jìn)classes的方法

    IDEA將Maven項(xiàng)目中指定文件夾下的xml等文件編譯進(jìn)classes的方法

    這篇文章主要介紹了IDEA將Maven項(xiàng)目中指定文件夾下的xml等文件編譯進(jìn)classes的方法,幫助大家更好的利用IDEA進(jìn)行Java的開發(fā)學(xué)習(xí),感興趣的朋友可以了解下
    2021-01-01
  • Java string.trim()究竟去掉了什么

    Java string.trim()究竟去掉了什么

    這篇文章主要介紹了Java string.trim()究竟去掉了什么,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java使用ffmpeg和mencoder實(shí)現(xiàn)視頻轉(zhuǎn)碼

    Java使用ffmpeg和mencoder實(shí)現(xiàn)視頻轉(zhuǎn)碼

    這篇文章主要為大家詳細(xì)介紹了Java使用ffmpeg和mencoder實(shí)現(xiàn)視頻轉(zhuǎn)碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • SpringBoot中注冊(cè)Bean的方式總結(jié)

    SpringBoot中注冊(cè)Bean的方式總結(jié)

    這篇文章主要介紹了SpringBoot中注冊(cè)Bean的方式總結(jié),@ComponentScan + @Componet相關(guān)注解,@Bean,@Import和spring.factories這四種方式,文中代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • springboot掃描自定義的servlet和filter代碼詳解

    springboot掃描自定義的servlet和filter代碼詳解

    本文是一篇根據(jù)作者工作經(jīng)歷總結(jié)出來(lái)的關(guān)于springboot掃描自定義的servlet和filter代碼詳解的文章,小編覺(jué)得非常不錯(cuò),這里給大家分享下,和朋友們一起學(xué)習(xí),進(jìn)步。
    2017-10-10

最新評(píng)論