前言
1 创建容器
在搭建 Spring 源码阅读环境 时,最后举了一个例子,其实就是创建容器,并从容器中获取 Bean ,来测试环境是否 OK。
根据元数据的不同,创建容器的方式也不同,下面参考官方文档,简单介绍下创建容器的几种方式:
1.1 Java 配置获取bean
public static void main(String[] args) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.register(ZclConfig.class);
context.refresh();
System.out.println(context.getBean(ComponentA.class));
}
}
1.2 Xml 获取bean
public class XmlConfigApplicationTest {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("SpringConfig.xml");
System.out.println(context.getBean("componentA"));
}
}
1.3 Groovy 获取bean
public static void main(String[] args) {
GenericGroovyApplicationContext context = new GenericGroovyApplicationContext("SpringConfig.groovy");
System.out.println(context.getBean(HelloServiceImpl.class));
}
}
1.4 GenericApplicationContext
也可以直接创建 GenericApplicationContext 然后在加载配置文件。
public static void main(String[] args) {
GenericApplicationContext context = new GenericApplicationContext();
new XmlBeanDefinitionReader(context).loadBeanDefinitions("SpringConfig.xml");
new GroovyBeanDefinitionReader(context).loadBeanDefinitions("SpringConfig.groovy");
context.refresh();
System.out.println(context.getBean("componentA"));
System.out.println(context.getBean(HelloServiceImpl.class));
}
}