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

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

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

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

通過全類名來配置:

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

  <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具有啟動、刷新和關閉上下文的能力。

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

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

依賴注入的三種方式

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

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

(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());
  }

輸出:

當屬性值有特殊符號時,要用以下方式:

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

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

相關文章

  • java針對于時間轉換的DateUtils工具類

    java針對于時間轉換的DateUtils工具類

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

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

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

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

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

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

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

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

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

    mybatis foreach標簽的使用詳解

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

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

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

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

    這篇文章主要介紹了mybatis主從表關聯(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中轉發(fā)與重定向的區(qū)別小結

    JavaWeb中轉發(fā)與重定向的區(qū)別小結

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

最新評論

茶陵县| 南澳县| 彰化市| 新昌县| 元朗区| 中牟县| 琼结县| 宁明县| 祁东县| 云霄县| 讷河市| 彝良县| 金昌市| 东海县| 长子县| 兴山县| 黑龙江省| 讷河市| 建水县| 绥中县| 天门市| 麟游县| 龙井市| 南通市| 新乡县| 林芝县| 长宁县| 望谟县| 西和县| 全州县| 惠来县| 阜新市| 天峻县| 青海省| 开江县| 潞城市| 涡阳县| 南昌市| 玉门市| 北碚区| 北流市|