使用上下文对象regist注入bean
package com.qing.app;
import com.qing.bean.Cat;
import com.qing.bean.Dog;
import com.qing.config.SpringConfig4;
import com.qing.config.SpringConfig5;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class App5 {
public static void main(String[] args) {
//注意类型是AnnotationConfigApplicationContext
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig5.class);
//1不指定名字:默认用类名首字母小写
ctx.register(Cat.class);
//2 指定名字
ctx.registerBean("加菲猫", Cat.class);
//最后一个参数是构造方法的参数
//注册相同的bean,前面的会被替换掉,就像,map的key相同一样
ctx.registerBean("猫猫", Cat.class,1);
ctx.registerBean("猫猫", Cat.class,2);
ctx.registerBean("猫猫", Cat.class,3);
String[] names = ctx.getBeanDefinitionNames();
for (String name : names) {
System.out.println("bean的名字:" + name);
}
System.out.println("------------");
System.out.println(ctx.getBean("猫猫"));
}
}
结果
备注:手工加载bean,注册相同的bean,前面的会被替换掉,像map一样,相同的key留后面的