type
status
date
slug
summary
tags
category
icon
password
1.Bean指定生命周期的创建和销毁

案例
打印信息
2.InitializingBean,DisposableBean
InitializingBean和DisposableBean的具体解释InitializingBean和DisposableBean是Spring框架中用于管理Bean生命周期的两个接口。InitializingBean提供了一个方法afterPropertiesSet()
,用于在Bean的所有属性设置完成后执行初始化操作;而DisposableBean提供了一个方法destroy()
,用于在Bean销毁之前执行清理工作12。InitializingBean
- 用途:在Bean的所有属性设置完成后执行初始化操作。这适用于需要在Bean初始化时执行一些资源加载、数据加载或动态属性设置等操作的场景。
- 方法:
afterPropertiesSet()
,该方法在Bean的属性设置完成后自动调用。DisposableBean
- 用途:在Bean销毁之前执行清理工作。这适用于需要在Bean销毁时释放资源、关闭连接等操作的场景。
- 方法:
destroy()
,该方法在Bean销毁之前自动调用。

3.@PostConstruct和 @PreDestroy
@PostConstruct 该注解被用来修饰一个非静态的 void() 方法。被 @PostConstruct 修饰的方法会在服务器加载 Servlet 的时候运行,并且只会被服务器执行一次,并且在构造函数之后执行,init() 方法之前执行。
@PreDestroy 该注解被用来修饰一个非静态的 void() 方法。被 @PreDestroy 修饰的方法会在服务器卸载 Servlet 的时候运行,并且只会被服务器执行一次。

4.BeanPostProcessor
前面几个相当于一个监听,而BeanPostProcessor可以去修改bean

5.bean的生命周期总结


6.@Autwire是如何实现的?
1、专门有一个处理@Autwire注解的自动生成注解BeanPostProcessor
2、每个Bean创建以后,会调用Bean后处理器的后处理之前初始化方法
3、PostProcess Beforelnitialization里面就会利用反射,得到当前Bean的所有属性,利用反射,得到Bean属性上标注的所有注解,看有没有@Autwire注解
4、如果有,去容器中找到这个属性对应的组件(按类型,按名字)找到。
- Author:Blinky
- URL:http://preview.tangly1024.com/article/1cc1c0db-37a0-80b3-a35a-ff4a1a8579d8
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!