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

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

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

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

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方法進(jìn)行賦值

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

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)鍵就是標(biāo)紅的兩個代碼:先進(jìn)行關(guān)聯(lián),然后進(jìn)行級聯(lián)賦值。

二、利用構(gòu)造方法進(jìn)行級聯(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方法進(jìn)行級聯(lián)屬性賦值需要:無參構(gòu)造方法、setter方法。

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

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

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

而在struct2中則不用,它會自動進(jìn)行初始化。

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

相關(guān)文章

  • 自己動手寫的mybatis分頁插件(極其簡單好用)

    自己動手寫的mybatis分頁插件(極其簡單好用)

    最近做了個項目,需要用到mybatis分頁功能,網(wǎng)上找了很多插件,都不太合適,于是就自己動手寫了個mybatis分頁插件功能,非常不錯,代碼簡單易懂,需要的朋友參考下吧
    2016-11-11
  • Java設(shè)計模式模板方法(Template)原理解析

    Java設(shè)計模式模板方法(Template)原理解析

    這篇文章主要介紹了Java設(shè)計模式模板方法(Template)原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • 關(guān)于Jackson的JSON工具類封裝 JsonUtils用法

    關(guān)于Jackson的JSON工具類封裝 JsonUtils用法

    這篇文章主要介紹了關(guān)于Jackson的JSON工具類封裝 JsonUtils用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java實現(xiàn)簡單租車系統(tǒng)

    java實現(xiàn)簡單租車系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)簡單租車系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • MyEclipse+Tomcat+MAVEN+SVN項目完整環(huán)境搭建(圖文教程)

    MyEclipse+Tomcat+MAVEN+SVN項目完整環(huán)境搭建(圖文教程)

    這篇文章主要介紹了MyEclipse+Tomcat+MAVEN+SVN項目完整環(huán)境搭建(圖文教程),非常具有實用價值,需要的朋友可以參考下
    2017-12-12
  • Java8中StringJoiner類的使用詳解

    Java8中StringJoiner類的使用詳解

    Java在java.util包中添加了一個新的最終類StringJoiner??梢杂糜跇?gòu)造由定界符分隔的字符序列。本文將通過示例和大家分享一下StringJoiner類的使用,需要的可以參考一下
    2022-10-10
  • 詳解HTTP請求與響應(yīng)基礎(chǔ)及實例

    詳解HTTP請求與響應(yīng)基礎(chǔ)及實例

    這篇文章主要介紹了詳解HTTP請求與響應(yīng)基礎(chǔ)及實例的相關(guān)資料,這里對http的請求和響應(yīng)進(jìn)行詳細(xì)分析并附有實現(xiàn)實例,需要的朋友可以參考下
    2017-07-07
  • Redis結(jié)合AOP與自定義注解實現(xiàn)分布式緩存流程詳解

    Redis結(jié)合AOP與自定義注解實現(xiàn)分布式緩存流程詳解

    項目中如果查詢數(shù)據(jù)是直接到MySQL數(shù)據(jù)庫中查詢的話,會查磁盤走IO,效率會比較低,所以現(xiàn)在一般項目中都會使用緩存,目的就是提高查詢數(shù)據(jù)的速度,將數(shù)據(jù)存入緩存中,也就是內(nèi)存中,這樣查詢效率大大提高
    2022-11-11
  • 項目打包成jar后包無法讀取src/main/resources下文件的解決

    項目打包成jar后包無法讀取src/main/resources下文件的解決

    本文主要介紹了項目打包成jar后包無法讀取src/main/resources下文件的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 深入理解Java設(shè)計模式之享元模式

    深入理解Java設(shè)計模式之享元模式

    這篇文章主要介紹了JAVA設(shè)計模式之享元模式的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2021-11-11

最新評論