最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring基于xml文件配置Bean過程詳解

 更新時間:2020年01月07日 10:58:40   作者:西西嘛呦  
這篇文章主要介紹了spring基于xml文件配置Bean過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了spring基于xml文件配置Bean過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

通過全類名來配置:

class:bean的全類名,通過反射的方式在IOC容器中創(chuàng)建Bean,所以要求bean中必須有一個無參的構(gòu)造器。

  <bean id="helloWorld" class="com.gong.spring.beans.HelloWorld">
    <property name="name" value="jack"></property>
  </bean>

在springIOC容器讀取Bean配置創(chuàng)建Bean的實例之前,需要對容器進行實例化。spring提供了兩種類型的IOC容器實現(xiàn):

Beanfactory:IOC容器的基本實現(xiàn)。

ApplicationContext:提供了更多高級特性,是BeanFactory的子接口。

ApplicationContext主要實現(xiàn)類:

  • ClassPathXmlApplicationContext:從類路徑加載配置文件。
  • FileSystemXmlApplicationContext:從文件系統(tǒng)中加載配置文件。
  • ConfigureableApplicationContext擴展于ApplicationContext,新增兩個方法refresh()和close(),讓ApplicationContext具有啟動、刷新和關(guān)閉上下文的能力。

ApplicaiotnContex在初始化時就上下文時就實例化所有單例的Bean。

WebApplicationContext是專門用于WEB應(yīng)用的,它允許從相對于WEB根目錄的路徑中完成初始化工作。

依賴注入的三種方式

(1)屬性注入:通過setter方法:<property name="name" value="jack"></property>,即在bean中存在setter方法。

(2)構(gòu)造器注入:<constructor-arg value="" index="0" type=""></constructor-arg>,根據(jù)構(gòu)造方法中初始化的參數(shù)進行一一設(shè)置,同時,可以根據(jù)參數(shù)的順序index,參數(shù)的類型type來區(qū)分重載的構(gòu)造器。

(3)工廠方法注入(很少使用,不推薦)

<bean id="student" class="com.gong.spring.beans.Student">    //第一種方式注入屬性值
    <constructor-arg value="tom" index="0" type="java.lang.String"></constructor-arg>
    <constructor-arg value="12" index="1" type="int"></constructor-arg>    //第二種方式注入屬性值
    <constructor-arg index="2" type="double">
      <value>99.00</value>
    </constructor-arg>
  </bean>
package com.gong.spring.beans;

public class Student {
  private String name;
  private int age;
  private double score;
  public Student(String name,int age,double score) {
    this.name = name;
    this.age = age;
    this.score = score;
  }
  @Override
  public String toString() {
    return "Student [name=" + name + ", age=" + age + ", score=" + score + "]";
  }
  
}
public static void main(String[] args) {
    //1.創(chuàng)建spring的IOC容器對象
    ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
    //2.從容器中獲取Bean實例
    Student student = (Student) ctx.getBean("student"); 
    System.out.println(student.toString());
  }

輸出:

當(dāng)屬性值有特殊符號時,要用以下方式:

    <constructor-arg index="0" type="java.lang.String">
      <value><![CDATA[<tom>]]></value>
    </constructor-arg>

用<![CDATA[屬性值]]>。

相關(guān)文章

  • java針對于時間轉(zhuǎn)換的DateUtils工具類

    java針對于時間轉(zhuǎn)換的DateUtils工具類

    這篇文章主要為大家詳細介紹了java針對于時間轉(zhuǎn)換的DateUtils工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 淺談JSON的數(shù)據(jù)交換、緩存問題和同步問題

    淺談JSON的數(shù)據(jù)交換、緩存問題和同步問題

    這篇文章主要介紹了淺談JSON的數(shù)據(jù)交換、緩存問題和同步問題,具有一定借鑒價值,需要的朋友可以參考下
    2017-12-12
  • Java中Class類的作用與深入理解

    Java中Class類的作用與深入理解

    這篇文章主要介紹了Java中Class類的作用與深入理解的相關(guān)資料,希望通過本文能幫助到大家讓大家理解這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • Spring6.x對調(diào)度和異步執(zhí)行的注解支持示例詳解

    Spring6.x對調(diào)度和異步執(zhí)行的注解支持示例詳解

    這篇文章主要為大家介紹了Spring6.x對調(diào)度和異步執(zhí)行的注解支持示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Springboot實現(xiàn)郵箱驗證代碼實例

    Springboot實現(xiàn)郵箱驗證代碼實例

    這篇文章主要介紹了Springboot實現(xiàn)郵箱驗證代碼實例,在一些業(yè)務(wù)需求中我們經(jīng)常需要使用郵箱進行驗證碼的收取,本文通過簡單的代碼實例來說明,需要的朋友可以參考下
    2024-01-01
  • mybatis foreach標(biāo)簽的使用詳解

    mybatis foreach標(biāo)簽的使用詳解

    這篇文章主要介紹了mybatis foreach標(biāo)簽的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • java OOM內(nèi)存泄漏原因及解決方法

    java OOM內(nèi)存泄漏原因及解決方法

    這篇文章主要介紹了java OOM內(nèi)存泄漏原因及解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • mybatis主從表關(guān)聯(lián)查詢,返回對象帶有集合屬性解析

    mybatis主從表關(guān)聯(lián)查詢,返回對象帶有集合屬性解析

    這篇文章主要介紹了mybatis主從表關(guān)聯(lián)查詢,返回對象帶有集合屬性解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • druid多數(shù)據(jù)源配置+Datasurce動態(tài)切換方式

    druid多數(shù)據(jù)源配置+Datasurce動態(tài)切換方式

    這篇文章主要介紹了druid多數(shù)據(jù)源配置+Datasurce動態(tài)切換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • JavaWeb中轉(zhuǎn)發(fā)與重定向的區(qū)別小結(jié)

    JavaWeb中轉(zhuǎn)發(fā)與重定向的區(qū)別小結(jié)

    轉(zhuǎn)發(fā)和重定向是JavaWeb中常用的兩種頁面跳轉(zhuǎn)方式,它們在實現(xiàn)上有一些區(qū)別,本文主要介紹了JavaWeb中轉(zhuǎn)發(fā)與重定向的區(qū)別小結(jié),具有一定的參考價值,感興趣的可以了解一下
    2023-10-10

最新評論

历史| 朝阳区| 翼城县| 镶黄旗| 榆中县| 九龙城区| 恭城| 河源市| 阿克| 西吉县| 澄迈县| 安福县| 五家渠市| 桐城市| 虞城县| 黄浦区| 龙南县| 宜州市| 白山市| 法库县| 巴林右旗| 藁城市| 阿鲁科尔沁旗| 新郑市| 即墨市| 东乌珠穆沁旗| 博白县| 田阳县| 乐清市| 方正县| 陵川县| 盐津县| 平阳县| 同心县| 周宁县| 聂荣县| 姜堰市| 邛崃市| 武川县| 定陶县| 贵港市|