三、依赖注入三种方式-Spring快速入门小白编

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}}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。