Spring核心容器

Spring中的bean是由Spring容器来进行管理的。Spring容器用来管理bean对象的生命周期、对象和对象之间的依赖关系。

下面是Spring的主要接口设计关系图:

org.springframework.beans 和 org.springframework.context 包是 Spring Framework 的 IoC容器的根本。BeanFactory 接口提供了一种更先进的配置机制来管理任意类型的对象。ApplicationContext 是 BeanFactory 的一个子接口。  

   BeanFactory采用了工厂设计模式,负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。而ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能:国际化支持、aop、事务等。同时BeanFactory在解析配置文件时并不会初始化对象,只有在使用对象getBean()才会对该对象进行初始化,而ApplicationContext在解析配置文件时对配置文件中的所有对象都初始化了,getBean()方法只是获取对象的过程。

参考资料:Spring系列之核心容器



Spring 容器的实例化方法

第一种:实例化BeanFactory来实例化Spring容器

实例化BeanFactory时,是把xml文件以Resource对象作为参数传入

//搜索当前文件路径下的bean.xml文件创建Resource对象

InputStreamSource isr = new FileSystemResource("src//applicationContext.xml");

//以Resource对象作为参数创建BeanFactory实例 

XmlBeanFactory factory = new XmlBeanFactory((Resource) isr);


或者

ClassPathResource res = new ClassPathResource("applicationContext.xml");

//以Resource对象作为参数创建BeanFactory实例

XmlBeanFactory factory = new XmlBeanFactory(res);


第二种:实例化ApplicationContext来实例化Spring容器 

方法一:在类路径下寻找配置来实例化容器

ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"bean.xml","service.xml"});

方法二:在文件系统路径下寻找配置文件来实例化容器

ApplicationContext ctx1 = new FileSystemXmlApplicationContext(new String[]{"bean.xml","service.xml"});


参考文档:Spring容器实例化方法




 

Spring核心容器Spring框架中最核心的部分,提供了管理和组织应用程序中组件的功能。它包含了一系列的模块,如文本、图片等各种资源文件,同时提供了应用程序所需的各种组件,如BeanFactory、ApplicationContext等。 首先,Spring核心容器提供了BeanFactory接口,用于对Java对象(也即Bean)进行管理和配置的工厂。通过配置文件或注解的方式,我们可以定义Bean的属性和依赖关系,从而使用容器来获取已经创建好的Bean实例。BeanFactory接口负责创建和管理这些Bean,同时也负责销毁它们。 其次,Spring核心容器还提供了ApplicationContext接口,它是BeanFactory的子接口,提供了更多的功能。ApplicationContext可以从多种来源(比如文件系统、数据库、网络等)加载配置信息,并管理Bean的生命周期。除了BeanFactory的所有功能,ApplicationContext还支持国际化、事件发布、资源管理等更高级的功能。 另外,Spring核心容器还包括了一些辅助模块,如AOP(面向切面编程)、ORM(对象关系映射)等。这些模块可以与核心容器无缝集成,提供更强大、更灵活的功能。例如,通过AOP,我们可以在不修改原有代码的情况下,为应用程序添加事务、日志等横切关注点。而通过ORM,我们可以方便地将Java对象映射到数据库中的表。 总结来说,Spring核心容器Spring框架最为重要的组成部分,它提供了BeanFactory和ApplicationContext两个接口,用于管理和组织应用程序中的组件。同时,它还包括了一些辅助模块,如AOP和ORM,以提供更多的功能支持。使用Spring核心容器,我们可以简化应用程序的开发、配置和管理,提高代码的可重用性和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值