Spring依赖注入的简单实现
创建一个User类
package entity;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class User {
private String name;
private int age;
private String[] names;
private List list;
private Set set;
private Map map;
private Dept dept;
public User() {
System.out.println("user无参的构造方法");
}
public User(String name, int age,Dept dept) {
System.out.println("有参的User构造");
this.name = name;
this.age = age;
this.dept=dept;
}
public void show() {
System.out.println("你好!");
}
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;
}
public String[] getNames() {
return names;
}
public void setNames(String[] names) {
this.names = names;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public Set getSet() {
return set;
}
public void setSet(Set set) {
this.set = set;
}
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
public Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}
创建一个测试类Test
package test;
import java.util.Iterator;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import entity.User;
public class Test {
public static void main(String[] args) {
/*对象被spring管理以后就不能真么直接new出来
* User u=new User();
u.show();*/
//创建spring的工厂(BeanFactory)
BeanFactory bf = new ClassPathXmlApplicationContext("MySpring.xml");
//根据工厂类创建指定的对象,传进去的是<bean>的id属性
User u =(User)bf.getBean("user");
//User u=(User)bf.getBean(User.class);
//User u=(User)bf.getBean("user",User.class);
//u.show();
/* u.setName("李四");
System.out.println(u.getName());
User u2 =(User)bf.getBean("user");
System.out.println(u2.getName());
*/
System.out.println(u.getNames()[0]);
System.out.println(u.getList().get(0));
//set取值
Iterator its=u.getSet().iterator();
while(its.hasNext()){
System.out.println(its.next());
}
//map的取值
System.out.println(u.getMap().get("aa"));
//对象属性
System.out.println(u.getDept().getdName());
//有参的构造
User u3=(User)bf.getBean("user2");
System.out.println(u3.getName());
}
}