type
status
date
slug
summary
tags
category
icon
password
Property
May 10, 2023 01:27 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使用上的问题,欢迎您在底部评论区留言,一起交流~
 
 
计算机网络(二):关于DNS的Java理解方法Kafka自学笔记(一):关于Kafka的配置问题
fntp
fntp
多一点兴趣,少一点功利
公告
type
status
date
slug
summary
tags
category
icon
password
Property
Sep 5, 2023 06:04 AM
📝 博客只为了记录我的学习生涯
😎 我的学习目标是成为一名极客
🤖 我热爱开源当然我也拥抱开源
💌 我期待能收到你的Email留言
📧 我的邮箱:stickpoint@163.com
欢迎交流~