首页 > 编程语言 > 详细

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

时间:2020-12-02 09:44:46      阅读:26      评论:0      收藏:0      [点我收藏+]

前言

技术分享图片

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

创建容器

技术分享图片

在搭建 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));

	}
}

总结

技术分享图片

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

相关推荐

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

原文:https://www.cnblogs.com/liuzhihang/p/spring-03.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!