springbean生命周期

SpringBean的生命周期

旧时模样 提交于 2020-01-16 02:31:22
SpringBena的生命周期 Spring对bean进行实例化,调用Bean的构造参数 调用bean的set方法将属性注入到bean的属性 检查bean是否实现beanNameaware,beanFactoryAware 当经过上述几个步骤后,bean对象已经被正确构造,但如果你想要对象被使用前再进行一些自定义的处理,就可以通过BeanPostProcessor接口实现。 该接口提供了两个函数:postProcessBeforeInitialzation( Object bean, String beanName ) 当前正在初始化的bean对象会被传递进来,我们就可以对这个bean作任何处理。 这个函数会先于InitialzationBean执行,因此称为前置处理。 所有Aware接口的注入就是在这一步完成的。postProcessAfterInitialzation( Object bean, String beanName ) 当前正在初始化的bean对象会被传递进来,我们就可以对这个bean作任何处理。 这个函数会在InitialzationBean完成后执行,因此称为后置处理。 查询是否实现benaPostProcessor

SpringBean生命周期及作用域

雨燕双飞 提交于 2019-12-02 15:43:49
bean作用域     在Bean容器启动会读取bean的xml配置文件,然后将xml中每个bean元素分别转换成BeanDefinition对象。在BeanDefinition对象中有scope 属性,就是它控制着bean的作用域。   Spring框架支持5种作用域,有三种作用域是当开发者使用基于web的ApplicationContext的时候才生效的。下面就是Spring直接支持的作用域了,当然开发者也可以自己定制作用域。       作用域              描述      单例(singleton)        (默认)每一个Spring IOC容器都拥有唯一的一个实例对象   原型(prototype)         一个Bean定义,任意多个对象   请求(request)         一个HTTP请求会产生一个Bean对象,也就是说,每一个HTTP   会话(session)         限定一个Bean的作用域为HTTPsession的生命周期。同样,只有基于文本的Spring的Spring ApplicationContext才能使用   全局会话(global session)   限定一个Bean的作用域为全局HTTPSession的生命周期。通常用于门户网站的场景,同样,只有基本web的Spring