写点什么

Spring 源码学习 03:创建 IoC 容器的几种方式

发布于: 2020 年 12 月 02 日
Spring 源码学习 03:创建 IoC 容器的几种方式



前言





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



创建容器





在搭建 Spring 源码阅读环境 时,最后举了一个例子,其实就是创建容器,并从容器中获取 Bean ,来测试环境是否 OK。



根据元数据的不同,创建容器的方式也不同,下面参考官方文档,简单介绍下创建容器的几种方式:



Java 配置获取元数据



public class AnnotationConfigApplicationTest {
public static void main(String[] args) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
context.register(JavaConfig.class);
context.refresh();
System.out.println(context.getBean(UserComponent.class));
}
}



Xml 获取元数据



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



Groovy 获取元数据



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



GenericApplicationContext



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



public class GenericApplicationTest {
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("bookService"));
System.out.println(context.getBean(NotesServiceImpl.class));
}
}



总结





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



相关推荐





发布于: 2020 年 12 月 02 日阅读数: 43
用户头像

个人公众号:『 程序员小航 』 2020.07.30 加入

某不知名互联网公司 Java 程序员一枚。记录工作学习中的技术、开发及源码笔记;分享生活中的见闻感悟。

评论

发布
暂无评论
Spring 源码学习 03:创建 IoC 容器的几种方式