type
status
date
slug
summary
tags
category
icon
password
Property
Feb 7, 2025 10:08 AM
本文主要介绍一些Spring开发过程中使用InitializingBean的奇淫技巧

🤔 InitializingBean怎么玩?

 
InitializingBean是Spring框架中的一个接口,它定义了一个用于初始化bean的方法afterPropertiesSet()
 
当一个bean实例被创建后,Spring容器会检查该bean是否实现了InitializingBean接口,如果实现了,就会在bean的属性注入完成之后调用afterPropertiesSet()方法。这个方法可以用来执行一些初始化操作,如检查依赖关系或者建立数据库连接。
 
这种方式相对于在bean定义中添加init-method属性更加灵活,因为它允许开发人员在bean的生命周期中的任何时候进行初始化操作。同时,在使用InitializingBean的过程中,开发人员可以使用@Bean注解或XML配置文件将bean注入到Spring容器中。
 
正是因为这个骚操作可以帮助我们实现更高度的自定义DIY~

📝 我来教你怎么玩

(1)验证依赖项

假设我们有一个 FooService 类,它依赖于一个 BarService 类。我们可以使用 InitializingBean 来确保 BarService 已经设置。
在上面这个示例中,如果 barService 没有被设置,那么在调用 afterPropertiesSet() 方法时将会抛出异常。

(2)加载配置文件

假设我们有一个 Config 类,它需要从一个配置文件中读取一些属性值。我们可以使用 InitializingBean 实现 loadConfig() 方法来加载配置文件。
在上面这个示例中,如果 configFile 没有被设置,那么在调用 afterPropertiesSet() 方法时将会抛出异常。

(3)构建设计模式-策略模式

紧接着构建Service-ServiceImpl
根据上面的Service策略模版,构建策略实现类
最后构建测试接口测试
测试结果:
notion image
notion image
💡
有关InitializingBean使用上的问题,欢迎您在底部评论区留言,一起交流~
 
 
相关文章
计算机视觉(一):深度学习的人脸应用
Lazy loaded image
计算机视觉(二):特征向量计算
Lazy loaded image
计算机视觉(三):人脸识别之特征提取
Lazy loaded image
Flowable(一):Java知识学习
Lazy loaded image
Flowable(二):数据库篇
Lazy loaded image
Flowable(三):Liquibase模式管理
Lazy loaded image
计算机网络(三):关于OSIKafka自学笔记(一):关于Kafka的配置问题
Loading...
fntp
fntp
多一点兴趣,少一点功利
最新发布
JUC核心篇(七):线程池底层原理
2025-2-26
JUC核心篇(六):阻塞队列
2025-2-24
JUC核心篇(四):CAS与AQS
2025-2-22
JUC技术篇(六):Volatile关键字
2025-2-21
JUC技术篇(五):Synchronized锁
2025-2-21
JUC核心篇(三):LockSupport与线程阻塞
2025-2-21
公告
📝 博客只为了记录我的学习生涯
😎 我的学习目标是成为一名极客
🤖 我热爱开源当然我也拥抱开源
💌 我期待能收到你的Email留言
📧 我的邮箱:stickpoint@163.com
欢迎交流~