springboot启动不加载bootstrap.yml文件问题解决

使用nacos做配置中心,但是程序启动失败,没有拉取配置中心的配置信息。检查之后发现是bootstrap.yml文件没有被加载,在项目的pom.xml文件中添加如下依赖,可能需要添加版本号,具体版本号可以去maven仓库查询,我使用的是 3.0.1版本。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

重新导入依赖,然后重启项目,在项目日志里可以看到下面这一段信息,并且服务正常启动成功,说明服务启动成功。

2021-03-07 22:47:10.953  INFO 54020 --- [  restartedMain] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name='bootstrapProperties-xxx-xxx-dev.yml,dev'}, BootstrapPropertySource {name='bootstrapProperties-xxx-xxx.yml,dev'}, BootstrapPropertySource {name='bootstrapProperties-xxx-xxx,dev'}]
Spring Boot应用通常通过`application.properties`或`application.yml`配置文件来管理环境变量和应用设置,其中`.yml`文件用于YAML格式的配置,它更便于阅读和编写,尤其是在包含嵌套结构的复杂配置时。 要在Spring Boot项目中读取`bootstrap.yml`文件,你需要遵循以下步骤: 1. **创建配置文件**:首先,在项目的`src/main/resources`目录下,创建一个名为`bootstrap.yml`的文件,并添加你需要的配置项。 ```yaml server: port: ${PORT:-8080} # 默认端口 logging: level: org.springframework.boot: DEBUG ``` 这里的`${PORT:-8080}`表示如果环境变量`PORT`存在,则使用其值;否则,默认为8080。 2. **声明配置源**:在`application.yml`或者其他Spring Boot默认查找的配置文件(如`application.properties`)中,指定加载`bootstrap.yml`: ```yaml spring.profiles.active: dev spring.config.location: classpath:/config/,classpath:/bootstrap.yml ``` 这行配置告诉Spring Boot同时加载`config`目录下的所有配置(默认情况),以及`bootstrap.yml`文件。 3. **访问配置**:在Spring Boot的配置类中(通常是`ConfigProperties`接口的实现类),你可以使用@Autowired注解从@Configuration类或@Value注解直接获取配置信息。 ```java @Configuration public class AppConfig { @Value("${server.port}") private int serverPort; @Bean public MyService myService() { return new MyServiceImpl(serverPort); } } ``` 4. **运行应用**:启动Spring Boot应用,配置会根据环境自动加载并生效。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值