枣庄手机网站建设报价,如果建手机网站,app微信小程序,好用的ppt模板免费下载网站目录 生命周期汇总
细分生命周期
1.实例化
2.属性赋值#xff08;依赖注入#xff09;
3.Aware接口
4.BeanPostProcessor接口
5.初始化
6.销毁
测试验证 类结构 业务类 测试类 生命周期汇总 Spring Bean 的生命周期见下图 #xff08;一定记忆好下图#x…目录 生命周期汇总
细分生命周期
1.实例化
2.属性赋值依赖注入
3.Aware接口
4.BeanPostProcessor接口
5.初始化
6.销毁
测试验证 类结构 业务类 测试类 生命周期汇总 Spring Bean 的生命周期见下图 一定记忆好下图 细分生命周期
1.实例化 当 Spring 容器加载配置文件时会根据配置创建 Bean 的实例。这个阶段主要是进行对象实例的创建使用无参构造方法或工厂方法。 2.属性赋值依赖注入 Spring 容器会调用对象的 set 方法或使用注解来为 Bean 的属性进行赋值。这个阶段可以进行各种依赖关系的注入比如通过构造函数、setter 方法、注解等方式。 3.Aware接口 用来让 Bean 对某些特定信息感知aware的接口它们可以通过实现相应的 Aware 接口来获取容器的相关信息。在 Bean 初始化的过程中进行一些自定义的操作例如对 Bean 的名称、工厂、上下文等进行操作或者引用 对应接口有三个 BeanNameAware获取自己在 Spring 容器中的名称即 Bean 的 ID。通过调用 setBeanName() 方法传入 Bean 的名称。 BeanFactoryAware获取到所属的 BeanFactory即 Spring 容器本身的引用。通过调用 setBeanFactory() 方法传入 BeanFactory 的引用。 ApplicationContextAware获取到所属的 Spring 应用上下文的引用。通过调用 setApplicationContext() 方法传入 ApplicationContext 的引用。 4.BeanPostProcessor接口 postProcessBeforeInitialization(Object bean, String beanName) 该方法在 Bean 的初始化之前被调用。返回值为 Object表示修改或替换原始的 Bean 对象。可以用来实现一些预处理操作例如属性赋值或依赖注入。应用举例对bean中指定属性加解密如下代码 postProcessAfterInitialization(Object bean, String beanName) 该方法在 Bean 的初始化之后被调用。返回值为 Object表示修改或替换原始的 Bean 对象。可以用来实现一些后处理操作例如添加额外的功能或修改 Bean 实例常见应用场景如AOP。 Component
public class UserService implements BeanPostProcessor {private String password;// Getter and Setter for passwordOverridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {if (bean instanceof UserService) {UserService userService (UserService) bean;// 在这里对 password 进行解密操作String decryptedPassword decrypt(userService.getPassword());userService.setPassword(decryptedPassword);}return bean;}Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {return bean;}private String decrypt(String encryptedPassword) {// 实现解密逻辑// ...return decryptedPassword;}
}
5.初始化 在属性赋值完成后Spring 容器会调用 Bean 的初始化方法可以通过实现 InitializingBean 接口或自定义初始化方法(自定义的示例如下)来指定进行一些初始化操作比如连接数据库、加载数据等。 PostConstructpublic void init() {System.out.println(自定义初始化方法);}
6.销毁 当 Spring 容器关闭或移除 Bean 时会调用 Bean 的销毁方法可以通过实现 DisposableBean 接口或配置 destroy-method 方法来指定。在这个阶段可以进行一些资源释放、清理操作比如关闭数据库连接、释放文件句柄等。 测试验证
git地址先跟着流程图记忆好生命周期根据自己理解到的自己手写SpringBean: SpringBean生命周期
如下是截图参考根据自己喜好选择clone代码或者截图 类结构 业务类 测试类
public class UserTest {public static void main(String[] args) {AnnotationConfigApplicationContext ctx new AnnotationConfigApplicationContext(SpringConfig.class);User user ctx.getBean(User.class);System.out.println(user);}
} 根据控制台打印即可看到Bean的生命周期执行过程 如果想掌握本篇那就静下心 动起手 搞一遍