时间:2021-05-19
Spring Ioc是Spring框架的基础,本文会简单的介绍下Spring Ioc。
Sprong Ioc即控制反转,它是一种通过描述(在java中可以是XML或注解)并通过第三方去产生或获取特定对象的方式。
Spring IoC容器
1、Spring IoC容器的设计
Spring IoC容器的设计主要是基于BeanFactory和ApplicationContext这两个接口,其中ApplicationContext是BeanFactory的一个子接口。也就是说,BeanFactory是Spring IoC容器定义的最底层接口,而ApplicationContext是其高级接口之一,因此大部分情况下会使用后者作为Spring IoC容器。
1.1 ClassPathXmlAppLicationContext
首先我们来认识一下ApplicationContext的子类ClassPathXmlAppLicationContext。先创建一个.xml,代码如下:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://.ssm.chapter.pojo.JuiceMaker" init-method="init" destroy-method="myDestroy"> <property name="beverageShop" value="贡茶" /> <property name="source" ref="source" /> </bean>这里定义了id为JuiceMaker的Bean,其属性init-menth就是自定义的初始化方法,而destroy-method为自定义的销毁方法。下面是测试代码清单:
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("spring-cfg.xml"); JuiceMaker juiceMaker = (JuiceMaker) ctx.getBean("juiceMaker"); System.out.println(juiceMaker.makeJuice()); ctx.close();日志如下:
[Source]对象source开始初始化
[Source]对象source实例化完成
[JuiceMaker]调用BeanNameAware接口的setBeanName方法
[JuiceMaker]调用BeanFactoryAware接口的setBeanFactory方法
[JuiceMaker]调用ApplicationContextAware接口的setApplicationContext方法
[JuiceMaker]对象juiceMaker开始初始化
[JuiceMaker]调用InitializingBean接口的afterPropertiesSet方法
[JuiceMaker]执行自定义初始化方法
[JuiceMaker]对象juiceMaker实例化完成
这是一杯由贡茶饮品店,提供的大杯少糖橙汁
[JuiceMaker]调用DisposableBean接口的destroy方法
[JuiceMaker]执行自定义销毁方法
从日志中可以看出,生命周期中的方法都被执行了。也可以看到BeanPostProcessor针对的是全部Bean。我们也可以自定义初始化和销毁Bean的方法。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在阅读本文之前,大家可先参阅《简单理解Spring之IOC和AOP及代码示例》一文,了解下Spring中IOC和AOP的相关内容。下面进入正题。本篇文章介绍在S
学习过Spring框架的人一定都会听过Spring的IoC(控制反转)、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC、DI这两个概念是
在阅读本文之前,大家可先行参阅《简单理解Spring之IOC和AOP及代码示例》一文,简单了解下ioc和aop的相关内容。下面进入正题。本文将会一步一步创建一个
Struts调用流程如下图所示。看到这幅图一下子就能了解了struts的原理。Spring的核心就是IOC容器和AOP,所以我们用spring主要是管理业务对象
什么是SpringSpring是一个以IoC和AOP为内核的框架。IoC(InversionofControl,控制反转)是Spring的基础。IoC简单说就是