public class People { private String name; public People(){ } public People(String name){ this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; }
//通过name id 都能查找到 但是id只能有一个 name可以有多个用空格 , ; 隔开 //相当于身份证id就有一个 你的小名昵称等可以有多个
测试
public static void main(String[] args) { ApplicationContext cOntext= new ClassPathXmlApplicationContext("applicationContext.xml"); // People people = (People ) context.getBean("people"); // People people = context.getBean(People.class); }
工厂注入
1.静态工厂
//工厂类 public class StaticFactory{ public static HashMap
map; static{ People p1 = new People("minyo1"); People p1 = new People("minyo2"); map.put("p1",p1); map.put("p2",p2); } public static People getBean(){ return map.get("p1"); } }
容器配置文件中
2.动态工厂
public class DynamicFactory { public People getBean(){ return new People(); } }
@Configuration public class Beanconfig { /** * @bean 跟配置文件里是一样的 * @return */ @Bean(name = "user1") public User getUser(){ return new User(); } }
测试
@Test public void func1(){ /* 通过@Configuration初始化IOC容器 */ ApplicationContext ac = new AnnotationConfigApplicationContext(Beanconfig.class); System.out.println(ac.getBean("user1",User.class)); }