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

spring級聯(lián)屬性賦值的兩種方式解析

 更新時間:2020年01月07日 10:16:37   作者:西西嘛呦  
這篇文章主要介紹了spring級聯(lián)屬性賦值的兩種方式解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了spring級聯(lián)屬性賦值的兩種方式解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Car.java

package com.gong.spring.beans;

public class Car {
  private String name;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  @Override
  public String toString() {
    return "Car [name=" + name + "]";
  }
  
}

Student.java

package com.gong.spring.beans;

public class Student {
  private String name;
  private int age;
  private double score;
  private Car car;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  public double getScore() {
    return score;
  }
  public void setScore(double score) {
    this.score = score;
  }
  public Car getCar() {
    return car;
  }
  public void setCar(Car car) {
    this.car = car;
  }
  @Override
  public String toString() {
    return "Student [name=" + name + ", age=" + age + ", score=" + score + ", car=" + car + "]";
  }
  
  
}

一、利用setter方法進行賦值

在bean中需要賦值的屬性必須要有setter方法,同時bean中必須還要有一個無參的構(gòu)造方法。如若不顯示聲明,則默認會有一個。

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  
  <bean id="car" class="com.gong.spring.beans.Car"></bean>
  
  <bean id="student" class="com.gong.spring.beans.Student">
    <property name="name" value="tom"></property>
    <property name="age" value="12"></property>
    <property name="score" value="98.00"></property>      
    <property name="car" ref="car"></property>
    <property name="car.name" value="baoma"></property>
  </bean>
  

</beans>

關(guān)鍵就是標紅的兩個代碼:先進行關(guān)聯(lián),然后進行級聯(lián)賦值。

二、利用構(gòu)造方法進行級聯(lián)賦值

此時,要在Person中加一個有參構(gòu)造方法:

public Student(String name, int age, double score, Car car) {
    super();
    this.name = name;
    this.age = age;
    this.score = score;
    this.car = car;
  }

在Car中加一個無參構(gòu)造方法:

public Car() {
}

同時,對于這種方法,我們刪除掉Person中name、age、score屬性的getter和setter方法,保留car屬性的getter和setter方法,程序仍然是可行的。

在applicationContext.xml中:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  
  <bean id="car" class="com.gong.spring.beans.Car"></bean>
  
  <bean id="student" class="com.gong.spring.beans.Student">
    <constructor-arg value="tom"></constructor-arg>
    <constructor-arg value="12"></constructor-arg>
    <constructor-arg value="98.00"></constructor-arg>
    <constructor-arg ref="car"></constructor-arg>
    <property name="car.name" value="baoma"></property>
  </bean>
</beans>

總結(jié):

1.利用setter方法進行級聯(lián)屬性賦值需要:無參構(gòu)造方法、setter方法。

2.利用構(gòu)造器進行級聯(lián)屬性賦值需要:有參構(gòu)造方法。

3.為級聯(lián)屬性賦值,屬性先要初始化之后才可以為級聯(lián)屬性賦值,否則會有異常,即:

<property name="car" ref="car"></property>
<constructor-arg ref="car"></constructor-arg>

而在struct2中則不用,它會自動進行初始化。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java 反射和動態(tài)代理詳解及實例代碼

    java 反射和動態(tài)代理詳解及實例代碼

    這篇文章主要介紹了java 反射和動態(tài)代理詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • mybatis模糊查詢之bind標簽和concat函數(shù)用法詳解

    mybatis模糊查詢之bind標簽和concat函數(shù)用法詳解

    大家都知道bind 標簽可以使用 OGNL 表達式創(chuàng)建一個變量井將其綁定到上下文中,接下來通過本文給大家介紹了mybatis模糊查詢——bind標簽和concat函數(shù)用法,需要的朋友可以參考下
    2022-08-08
  • Java開發(fā)學習之Bean的生命周期詳解

    Java開發(fā)學習之Bean的生命周期詳解

    從創(chuàng)建到消亡的完整過程,例如人從出生到死亡的整個過程就是一個生命周期。本文將通過示例為大家詳細講講Bean的生命周期,感興趣的可以學習一下
    2022-06-06
  • java使用websocket,并且獲取HttpSession 源碼分析(推薦)

    java使用websocket,并且獲取HttpSession 源碼分析(推薦)

    這篇文章主要介紹了java使用websocket,并且獲取HttpSession,通過使用配置源碼分析了各方面知識點,具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • Java 正則表達式入門詳解(基礎進階)

    Java 正則表達式入門詳解(基礎進階)

    最近看到很多同學想要學習java正則表達式的一些知識,那么腳本之家小編就為大家介紹一下,其實正則表達式實用性很強,處理大幅文字的時候都需要用得到,語法也大同小異
    2017-10-10
  • springboot使用RedisRepository操作數(shù)據(jù)的實現(xiàn)

    springboot使用RedisRepository操作數(shù)據(jù)的實現(xiàn)

    本文主要介紹了springboot使用RedisRepository操作數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • springboot Jpa多數(shù)據(jù)源(不同庫)配置過程

    springboot Jpa多數(shù)據(jù)源(不同庫)配置過程

    這篇文章主要介紹了springboot Jpa多數(shù)據(jù)源(不同庫)配置過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 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
  • Springboot快速入門教程

    Springboot快速入門教程

    今天給大家?guī)淼氖顷P(guān)于Springboot基礎的相關(guān)知識,文章圍繞著Springboot的基礎知識及用法展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 淺談spring-boot-rabbitmq動態(tài)管理的方法

    淺談spring-boot-rabbitmq動態(tài)管理的方法

    這篇文章主要介紹了淺談spring-boot-rabbitmq動態(tài)管理的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12

最新評論

曲麻莱县| 班戈县| 徐州市| 博客| 洛扎县| 巫溪县| 武宁县| 秦安县| 都匀市| 嘉兴市| 左贡县| 西吉县| 扎兰屯市| 萝北县| 黄龙县| 调兵山市| 东乡县| 平远县| 六枝特区| 尼玛县| 山西省| 肥西县| 九江县| 陈巴尔虎旗| 渭南市| 通海县| 临澧县| 旌德县| 云和县| 若羌县| 周至县| 阳西县| 双鸭山市| 黄山市| 大足县| 石狮市| 阿克| 阳信县| 山阴县| 万年县| 株洲市|