前言

3-Spring容器的创建 - 图1
在上一篇文章末尾画了一幅简图,现在从简图这入手,先来看看如何创建容器!

创建容器

3-Spring容器的创建 - 图2
在搭建 Spring 源码阅读环境 时,最后举了一个例子,其实就是创建容器,并从容器中获取 Bean ,来测试环境是否 OK。
根据元数据的不同,创建容器的方式也不同,下面参考官方文档,简单介绍下创建容器的几种方式:

Java 配置获取元数据

  1. public class AnnotationConfigApplicationTest {
  2. public static void main(String[] args) {
  3. AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
  4. context.register(JavaConfig.class);
  5. context.refresh();
  6. System.out.println(context.getBean(UserComponent.class));
  7. }
  8. }

Xml 获取元数据

  1. public class XmlConfigApplicationTest {
  2. public static void main(String[] args) {
  3. ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("SpringConfig.xml");
  4. System.out.println(context.getBean("bookService"));
  5. }
  6. }

Groovy 获取元数据

  1. public class GroovyConfigApplicationTest {
  2. public static void main(String[] args) {
  3. GenericGroovyApplicationContext context = new GenericGroovyApplicationContext("SpringConfig.groovy");
  4. System.out.println(context.getBean(NotesServiceImpl.class));
  5. }
  6. }

GenericApplicationContext

也可以直接创建 GenericApplicationContext 然后在加载元数据配置文件。

  1. public class GenericApplicationTest {
  2. public static void main(String[] args) {
  3. GenericApplicationContext context = new GenericApplicationContext();
  4. new XmlBeanDefinitionReader(context).loadBeanDefinitions("SpringConfig.xml");
  5. new GroovyBeanDefinitionReader(context).loadBeanDefinitions("SpringConfig.groovy");
  6. context.refresh();
  7. System.out.println(context.getBean("bookService"));
  8. System.out.println(context.getBean(NotesServiceImpl.class));
  9. }
  10. }

总结

3-Spring容器的创建 - 图3
本文主要介绍了常用的几种容器的创建,配置文件部分就没有在文章中体现了,如果想了解这部分,可以参考官方文档。

相关推荐