spring boot yaml文件配置不生效问题

博客主要讲述了Spring Boot中YAML文件配置不生效的问题,打印pet结果为空。解决办法是注意格式,字段与冒号间要加空格,修正后可正常显示结果。作者总结刚学Spring Boot会遇到很多坑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spring boot yaml文件配置不生效问题

打印pet结果为空:

 

 解决办法:

格式问题,字段与冒号间要加空格,eg:原:

{type:dog,name:zao}

修正后:

{type: dog,name: zao}

打印结果:

 

总结:刚学springboot,好多坑,字段与冒号间要加空格,字符也变得属性特有的橙色高亮。 

### Spring Cloud 中 YAML 文件的快速配置方法 在 Spring Cloud 的上下文中,YAML 是一种常用的配置文件格式,因其简洁性和可读性强的特点而被广泛采用。以下是基于提供的引用内容以及专业知识整理的一个完整的 YAML 配置流程。 #### 1. 使用 YAML 替代 Properties 文件 Spring BootSpring Cloud 支持通过 `application.yml` 或其他自定义命名的 `.yml` 文件来进行配置管理。例如: ```yaml server: port: 8080 spring: application: name: my-service ``` 上述配置等价于以下 `properties` 文件的内容: ```properties server.port=8080 spring.application.name=my-service ``` 这种结构化的表示方式使得复杂嵌套配置更加直观[^1]。 --- #### 2. 加载外部 YAML 配置文件 如果需要从外部源(如 Git、本地路径或其他存储位置)加载 YAML 配置文件,则可以借助 **Spring Cloud Config Server** 实现动态化配置管理。Config Server 能够将远程仓库中的配置文件映射到应用程序中使用的环境变量或 Bean 属性上[^2]。 假设有一个名为 `config-repo` 的 Git 仓库,其中包含了一个针对服务 `my-service` 的配置文件 `my-service.yml`,其内容如下: ```yaml --- spring: profiles: dev server: port: 9000 --- spring: profiles: prod server: port: 8080 ``` 当启动应用并激活不同的 Profile(开发模式 `dev` 或生产模式 `prod`),对应的端口号会自动生效。 为了启用此功能,在项目的依赖中需引入 Spring Cloud Config 客户端模块,并在 `bootstrap.yml` 中指定 Config Server 地址: ```yaml spring: cloud: config: uri: http://localhost:8888 profile: dev label: master ``` 此处需要注意的是,`bootstrap.yml` 的优先级高于普通的 `application.yml`,因此适合放置与全局初始化相关的参数[^3]。 --- #### 3. 动态刷新配置 对于某些场景下的热更新需求,可通过 Actuator 提供的 `/actuator/refresh` 接口触发重新加载逻辑。前提是相关组件已开启支持,比如添加以下 Maven 插件: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> ``` 接着确保目标字段标注有 `@RefreshScope` 注解以便响应变化后的值: ```java import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; @RefreshScope @RestController public class MyController { @Value("${server.port}") private String serverPort; @GetMapping("/port") public String getServerPort() { return "Current Port is " + serverPort; } } ``` 这样即使不重启整个程序实例也能即时反映最新的配置项调整情况。 --- #### 4. 示例总结 综上所述,完成一次典型的 Spring Cloud 应用 YAML 快速配置通常涉及以下几个方面的工作: - 编写清晰易懂的应用内部默认配置; - 设置合理的外部化资源链接地址及其访问权限控制机制; - 结合实际业务特点设计灵活多变的服务运行状态切换方案;最后再辅以必要的监控手段保障整体架构稳定性。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值