您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Spring-IOC-容器中-Bean-的生命周期-尚硅谷-佟刚
“玩转”Java系列—————————————————————————————1【更多Java–Android资料下载,可访问尚硅谷(中国)官网下载区】SpringIOC容器中Bean的生命周期SpringIOC容器可以管理Bean的生命周期,Spring允许在Bean生命周期的特定点执行定制的任务。SpringIOC容器中Bean的生命周期如下:①.通过构造器或工厂方法创建Bean实例:调用构造器②.为Bean的属性设置值和对其他Bean的引用:调用setter③.将Bean实例传递给Bean后置处理器的postProcessBeforeInitialization方法④.调用Bean的初始化方法:init-method⑤.将Bean实例传递给Bean后置处理器的postProcessAfterInitialization方法⑥.Bean可以使用了⑦.当容器关闭时,调用Bean的销毁方法:destroy-method。Bean的初始化和销毁方法:可以通过bean节点的init-method和destroy-method来配置Bean的初始化方法和销毁方法:beanid=personclass=com.atguigu.spring.lifecycle.Personinit-method=initdestroy-method=destroypropertyname=namevalue=abcd/property/bean注意:ApplicationContext接口中没有关闭容器的方法,所以使用ApplicationContext接口作为IOC容器的引用,destroy-method将不会起到作用,需要使用ApplicationContext的子接口ConfigurableApplicationContext。详解Bean后置处理器:Bean后置处理器:Spring提供的特殊的Bean“玩转”Java系列—————————————————————————————2【更多Java–Android资料下载,可访问尚硅谷(中国)官网下载区】①.Bean后置处理器允许在调用初始化方法(即:bean节点init-method属性对应的方法的前后)前后对Bean进行额外的处理.②.Bean后置处理器对IOC容器里的所有Bean实例逐一处理,而非单一实例.其典型应用是:检查Bean属性的正确性或根据特定的标准更改Bean的属性.③.对Bean后置处理器而言,需要实现BeanPostProcessor接口publicclassPersonPostProcessorimplementsBeanPostProcessor{/***arg0:IOC容器中bean的实例*arg1:IOC容器中该bean的名字*/@OverridepublicObjectpostProcessAfterInitialization(Objectarg0,Stringarg1)throwsBeansException{if(arg0instanceofPerson){System.out.println(postProcessAfterInitialization);Personperson=(Person)arg0;Stringname=person.getName();if(!name.equals(AAAA)){System.out.println(name值必须为AAAA!);person.setName(AAAA);}}returnarg0;}@OverridepublicObjectpostProcessBeforeInitialization(Objectarg0,Stringarg1)throwsBeansException{System.out.println(postProcessBeforeInitialization);returnarg0;}}④.Bean后置处理器需要在IOC容器中进行配置,但不需要指定id属性,SpringIOC容器会自动的识别这是个Bean后置处理器,自动的使用它。beanclass=com.atguigu.spring.lifecycle.PersonPostProcessor/
本文标题:Spring-IOC-容器中-Bean-的生命周期-尚硅谷-佟刚
链接地址:https://www.777doc.com/doc-7747622 .html