setter方法注入
package org.spring5;
public class Book {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
'}';
}
}
在beans.xml中配置
<bean id="book" class="org.spring5.Book">
<property name="name" value="java"></property>
</bean>
有参构造注入
package org.spring5;
public class User {
public void say() {
System.out.println("say hello");
}
public User(int age, String name) {
this.age = age;
this.name = name;
}
private int age;
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"age=" + age +
", name='" + name + '\'' +
'}';
}
}
<bean id="user" class="org.spring5.User">
<constructor-arg name="age" value="10"></constructor-arg>
<constructor-arg name="name" value="张三"></constructor-arg>
</bean>
测试
@Test
public void say(){
ApplicationContext applicationContext= new ClassPathXmlApplicationContext("beans.xml");
User user = applicationContext.getBean("user",User.class);
System.out.println(user);
user.say();
Book book = applicationContext.getBean("book", Book.class);
System.out.println(book);
}
结果
User{age=10, name='张三'}
say hello
Book{name='java'}