Spring Boot 应用启动时打印配置类信息

因为项目中有些配置是在环境变量中指定的,所以想在启动时打印一下实际的配置参数,以方便确认配置是否正确。

下面是查到的比较优雅的写法:通过监听 ApplicationReadyEvent 事件,在事件触发时打印配置参数

java 复制代码
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;

@Component
@Slf4j
@RequiredArgsConstructor
public class MyApplicationListener {

    private final MyProperties myProperties;

    @EventListener(ApplicationReadyEvent.class)
    public void handleApplicationReadyEvent() {
        // 打印配置参数
        log.info("我的配置 {}", myProperties);
    }
}

其中 MyProperties 配置类上加了 Lombok 的 @Data 注解,会自动生成 toString 方法。

ApplicationReadyEvent 事件在 ApplicationContext 被初始化和刷新后,且应用程序已经准备好处理请求时触发。这是 Spring Boot 启动过程中的一个较晚阶段,确保所有初始化步骤都已完成。

相关推荐
程序员阿明17 分钟前
spring boot3集成企业微信推送消息
java·spring boot·企业微信
SamDeepThinking18 分钟前
用工厂模式和模板方法统一封装所有第三方的Access Token
java·后端·架构
CodeSheep23 分钟前
DeepSeek的最新招人标准,太讽刺了。
前端·后端·程序员
huipeng92624 分钟前
GateWay使用详解
java·spring boot·spring cloud·微服务·gateway
夏沫的梦35 分钟前
DeepSeek V4-Vllm部署:高效长上下文推理的实现
人工智能·后端
blasit36 分钟前
Qt C++ http服务器安全登录token生成管理
c++·后端·qt
golang学习记39 分钟前
Go 字符串优化:从“能跑就行”到“快到编译器都追不上我”
后端
AskHarries43 分钟前
我把域名卖了,顺手换了个新域名,然后站就没了
后端
用户962377954481 小时前
原理分析 | Controller —— SpringBoot 内存马
javascript·后端
渐儿1 小时前
PyTorch深度教程(一):快速入门与核心概念
后端