• 方法一:基于XML的bean定义(需要提供setter方法)

1.首先编写student.java和teacher.java两个类

    Student.java:

public class Student {

private String name;

private Teacher teacher;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Teacher getTeacher() {
return teacher;
}

public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
}

  Teacher.java

                       public class Teacher {


private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

}

2.配置spring.xml基于XML的bean定义(需要提供setter方法)

<?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 />          //设置属性值
</bean>
</beans>

 

  • 方法二:基于注解的bean定义(不需要提供setter方法)

     

    @Component("teacher")
    public class Teacher {

    @Value("李四")
    private String name;

    public String getName() {
    return name;
    }

    }
    @Component("student")
    public class Student {

    @Value("张三")
    private String name;

    @Resource
    private Teacher teacher;

    public String getName() {
    return name;
    }

    public Teacher getTeacher() {
    return teacher;
    }

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">

    <!--扫描组件的包目录-->
    <context:component-scan base-package="test"/>

    </beans>

  • 方法三:基于Java类的bean定义(需要提供setter方法)

    @Configuration
    public class BeansConfiguration {

    @Bean
    public Student student(){
    Student student=new Student();
    student.setName("张三");
    student.setTeacher(teacher());
    return student;
    }

    @Bean
    public Teacher teacher(){
    Teacher teacher=new Teacher();
    teacher.setName("李四");
    return teacher;
    }

    }

     

 

入口函数为:

public class Main {

public static void main(String args[]){
AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(BeansConfiguration.class);
Student student= (Student) context.getBean("student");
Teacher teacher= (Teacher) context.getBean("teacher");
System.out.println("学生的姓名:"+student.getName()+"。老师是"+student.getTeacher().getName());
System.out.println("老师的姓名:"+teacher.getName());
}

}

 

 

相关文章:

  • 2018-12-14
  • 2021-08-13
  • 2022-12-23
  • 2022-03-02
  • 2021-12-17
  • 2022-12-23
猜你喜欢
  • 2021-06-05
  • 2022-12-23
  • 2023-04-04
  • 2022-12-23
  • 2021-10-22
  • 2021-10-12
相关资源
相似解决方案