spring的set注入赋值
时间: 2023-03-29 13:00:20 浏览: 62
Spring 的 set 注入赋值是一种依赖注入的方式,通过在 bean 的属性上定义 set 方法,Spring 容器会自动调用 set 方法将属性值注入到 bean 中。这种方式可以方便地管理 bean 之间的依赖关系,提高代码的可维护性和可扩展性。
相关问题
新建JavaBean对象Person(int id,String name,String sex,int age ,List favor),通过spring框架给person对象完成值的注入(分别用构造注入和set注入完成),创建测试类,打印输出person的值。
使用构造注入,可以创建一个带有参数的构造函数,将所有参数传入构造函数,然后在构造函数中将参数赋值给实例变量:public Person(int id,String name,String sex,int age,List favor) {
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
this.favor = favor;
}使用set注入,可以创建一个没有参数的构造函数,然后在外部通过set方法将属性设置进去:public Person() {}public void setId(int id) {
this.id = id;
}public void setName(String name) {
this.name = name;
}public void setSex(String sex) {
this.sex = sex;
}public void setAge(int age) {
this.age = age;
}public void setFavor(List favor) {
this.favor = favor;
}创建测试类,可以通过实例化Person类,然后调用get方法来打印输出person的值:public class Test {
public static void main(String[] args) {
Person person = new Person(1, "张三", "男", 18, Arrays.asList("篮球", "足球"));
System.out.println("id:" + person.getId());
System.out.println("name:" + person.getName());
System.out.println("sex:" + person.getSex());
System.out.println("age:" + person.getAge());
System.out.println("favor:" + person.getFavor());
}
}
依赖注入之setter注入:创建学生类,配置bean时为属性赋值,并输出某个学生的信息。
依赖注入(Dependency Injection,DI)是一种设计模式,它可以将对象之间的依赖关系从代码中移除出来,从而提高代码的可读性、可维护性和可测试性。其中的一种实现方式就是 setter 注入。下面是一个使用 setter 注入的示例,创建一个学生类,配置 bean 时为属性赋值,并输出某个学生的信息:
首先,创建一个 `Student` 类,包含 `id`、`name` 和 `age` 三个属性:
```java
public class Student {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
}
```
然后,在 Spring 的配置文件中,配置一个 `Student` 的 bean,并为其属性赋值:
```xml
<bean id="student" class="com.example.Student">
<property name="id" value="1" />
<property name="name" value="Tom" />
<property name="age" value="18" />
</bean>
```
最后,编写一个测试类,获取配置的 `Student` bean,输出其属性值:
```java
public class Test {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Student student = (Student) context.getBean("student");
System.out.println("id: " + student.getId());
System.out.println("name: " + student.getName());
System.out.println("age: " + student.getAge());
}
}
```
运行测试类,输出结果如下:
```
id: 1
name: Tom
age: 18
```
这样就完成了一个使用 setter 注入的示例,通过配置文件为 `Student` 类的属性赋值,然后从容器中获取 `Student` bean,输出其属性值。