构造注入
首先定义domain对象
import java.util.Date; public class A { private int id; private String username; private String password; private char sex; private Date birthday; public A(int id, String username, String password, char sex, Date birthday) { super(); this.id = id; this.username = username; this.password = password; this.sex = sex; this.birthday = birthday; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public char getSex() { return sex; } public void setSex(char sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }
ApplicationContext.xml配置
<?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-3.0.xsd" default-autowire="byName"> <bean id="a" class="cn.com.xalead.spring.A"> <constructor-arg index="4" ref="cur"/> <constructor-arg value="10"/> <constructor-arg value="zhangsan"/> <constructor-arg value="1111"/> <constructor-arg value="M"/> </bean> <bean id="cur" class="java.util.Date"/> </beans>
运行测试
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainClass1 {
public static void main(String[] args) {
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
A a = (A)factory.getBean("a");
System.out.println(a.getId() + ":" + a.getUsername() + ":" + a.getBirthday());
}
}
输出结果:10:zhangsan:Tue Dec 22 19:29:48 CST 2015
自动注入
- 首先定义domain对象,和上面的domain一致;
ApplicationContext.xml配置
<?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-3.0.xsd" default-autowire="byName"> <bean id="a" class="cn.com.xalead.spring.A" scope="singleton" autowire="byType"/> </beans>
测试运行
import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainClass1 { public static void main(String[] args) { BeanFactory factory = new ClassPathXmlApplicationContext("app*.xml"); A a = (A)factory.getBean("a"); System.out.println(a.getId() + ":" + a.getUsername() + ":" + a.getBirthday()); } }
输出结果:
0:null:null