1:set方法 使用<property>标签
2:构造方法 使用<constructor-ar>标签
3: 使用<p:>标签
新建了一个Course.java实体类
Course.java
package com.bb.entity;
public class Course {
private String courseName;
private Integer courseId;
private Student student;
public Course() {
}
public Course(String courseName, Integer courseId, Student student) {
this.courseName = courseName;
this.courseId = courseId;
this.student = student;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
public Integer getCourseId() {
return courseId;
}
public void setCourseId(Integer courseId) {
this.courseId = courseId;
}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
@Override
public String toString() {
return "Course{" +
"courseName='" + courseName + '\'' +
", courseId=" + courseId +
", student=" + student +
'}';
}
}
applicationContext.xml
<!-- 依赖注入三种方式1:set方法 使用<property>标签-->
<bean id="student1" class="com.bb.entity.Student">
<property name="id" value="1"></property>
<property name="name" value="bb"></property>
<property name="age" value="22"></property>
</bean>
<bean id="course1" class="com.bb.entity.Course">
<property name="courseName" value="Dota"></property>
<property name="courseId" value="1"></property>
<property name="student" ref="student1"></property>
</bean>
<!-- 依赖注入三种方式2:构造方法 使用<constructor-ar>标签-->
<bean id="student2" class="com.bb.entity.Student">
<constructor-arg name="name" value="ss"></constructor-arg>
<constructor-arg name="age" value="33"></constructor-arg>
<constructor-arg name="id" value="2"></constructor-arg>
</bean>
<bean id="course2" class="com.bb.entity.Course">
<constructor-arg name="courseId" value="2"></constructor-arg>
<constructor-arg name="courseName" value="WOW"></constructor-arg>
<constructor-arg name="student" ref="student2"></constructor-arg>
</bean>
<!-- 依赖注入三种方式3: 使用<p:>标签-->
<bean id="student3" class="com.bb.entity.Student" p:id="3" p:name="cc" p:age="11">
</bean>
<bean id="course3" class="com.bb.entity.Course" p:courseId="3" p:courseName="LOL" p:student-ref="student3">
</bean>
TestSpring.java
<!-- 依赖注入三种方式1:set方法 使用<property>标签-->
<bean id="student1" class="com.bb.entity.Student">
<property name="id" value="1"></property>
<property name="name" value="bb"></property>
<property name="age" value="22"></property>
</bean>
<bean id="course1" class="com.bb.entity.Course">
<property name="courseName" value="Dota"></property>
<property name="courseId" value="1"></property>
<property name="student" ref="student1"></property>
</bean>
<!-- 依赖注入三种方式2:构造方法 使用<constructor-ar>标签-->
<bean id="student2" class="com.bb.entity.Student">
<constructor-arg name="name" value="ss"></constructor-arg>
<constructor-arg name="age" value="33"></constructor-arg>
<constructor-arg name="id" value="2"></constructor-arg>
</bean>
<bean id="course2" class="com.bb.entity.Course">
<constructor-arg name="courseId" value="2"></constructor-arg>
<constructor-arg name="courseName" value="WOW"></constructor-arg>
<constructor-arg name="student" ref="student2"></constructor-arg>
</bean>
<!-- 依赖注入三种方式3: 使用<p:>标签-->
<bean id="student3" class="com.bb.entity.Student" p:id="3" p:name="cc" p:age="11">
</bean>
<bean id="course3" class="com.bb.entity.Course" p:courseId="3" p:courseName="LOL" p:student-ref="student3">
</bean>
输出结果:
Course{courseName='Dota', courseId=1, student=Student{id=1, name='bb', age=22}}
Course{courseName='WOW', courseId=2, student=Student{id=2, name='ss', age=33}}
Course{courseName='LOL', courseId=3, student=Student{id=3, name='cc', age=11}}