亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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方法,同時(shí)bean中必須還要有一個(gè)無參的構(gòu)造方法。如若不顯示聲明,則默認(rèn)會(huì)有一個(gè)。

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

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

此時(shí),要在Person中加一個(gè)有參構(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è)無參構(gòu)造方法:

public Car() {
}

同時(shí),對(duì)于這種方法,我們刪除掉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)行級(jí)聯(lián)屬性賦值需要:無參構(gòu)造方法、setter方法。

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

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

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    Java8中StringJoiner類的使用詳解

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

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

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

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

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

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

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

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

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

最新評(píng)論