Flask接口签名sign原理与实例代码浅析
300
2022-12-17
spring级联属性赋值的两种方式解析
这篇文章主要介绍了spring级联属性赋值的两种方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
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中必须还要有一个无参的构造方法。如若不显示声明,则默认会有一个。
applicationContext.xml
xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd"> zSBTdLt
xmlns:xsi="http://w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd">
zSBTdLt
关键就是标红的两个代码:先进行关联,然后进行级联赋值。
二、利用构造方法进行级联赋值
此时,要在Person中加一个有参构造方法:
public Student(String name, int age, double score, Car car) {
super();
this.name = name;
this.age = age;
this.score = score;
this.car = car;
}
在Car中加一个无参构造方法:
public Car() {
}
同时,对于这种方法,我们删除掉Person中name、age、score属性的getter和setter方法,保留car属性的getter和setter方法,程序仍然是可行的。
在applicationContext.xml中:
xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd">
xmlns:xsi="http://w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd">
总结:
1.利用setter方法进行级联属性赋值需要:无参构造方法、setter方法。
2.利用构造器进行级联属性赋值需要:有参构造方法。
3.为级联属性赋值,属性先要初始化之后才可以为级联属性赋值,否则会有异常,即:
而在struct2中则不用,它会自动进行初始化。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~