一般分两大注入, 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">
<!--无参构造函数+setter方法注入值-->
<bean class="Person" id="person">
<property name="id">
<value>1</value>
</property>
<property name="name" value="objectboy"/>
</bean>
<!--有参构造函数直接注入-->
<bean id="User" class="User">
<constructor-arg name="name" value="paul"/>
<constructor-arg name="age" value="12"/>
</bean>
</beans>
public class User {
private String name;
private int age;
public User(String name,int age){
this.age=age;
this.name=name;
}
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;
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder("{");
sb.append("\"name\":\"")
.append(name).append('\"');
sb.append(",\"age\":")
.append(age);
sb.append('}');
return sb.toString();
}
}
public class Person {
private String name;
private Integer id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder("{");
sb.append("\"name\":\"")
.append(name).append('\"');
sb.append(",\"id\":")
.append(id);
sb.append('}');
return sb.toString();
}
}
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
public static void main(String[] args) {
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("beans.xml");
Person objPerson= (Person)applicationContext.getBean("person");
System.out.println("Person="+ objPerson.toString());
User objUser=(User)applicationContext.getBean("User");
System.out.println("User="+ objUser.toString());
}
}
网友评论