springboot升级到2.4.5后配置文件不生效

公司系统为了解决相关jar包漏洞,需要升级springboot,生产版本是2.3.9,计划升级到2.4.5;

发现升级后,配置文件不生效了,,我这边用的是bootstrap.yml配置的,maven是多模块的,其他模块里也有配置文件,配置文件里的文件有有的从nacos配置文件获取的,但是升级后造成所有的配置文件全部失效;之前只了解了,springboot2.4以后 ,配置加载有大的改动,但是没测试过,这次遇到了,百度了网上的解决方案,大部分都不行,,到官网找了下文档,如果要还是使用传统的配置引导,需要添加引导器才行

 

 <!--升级到2.4.5后,bootstrap.yml 不加载了 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

 

官网介绍:

https://docs.spring.io/spring-cloud-config/docs/current/reference/html/#config-first-bootstrap

2、

升级过程中,swagger不能使用,报的错误是: 503 SERVICE_UNAVAILABLE "Unable to find instance for xxxx";

原因是Spring Cloud2020移除了Ribbon,需要手动在pom里添加下依赖即可

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

3、添加spring-cloud-loadbalancer后,发现Feign无法使用,,报无法找到负载均衡的服务‘;经过研究发现需要去除nacos里的spring-cloud-starter-netflix-ribbon

<!-- nacos配置中心-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <exclusions>        
        <exclusion>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
        </exclusion>
    </exclusions>
</dependency>
 

 4、集成sleuth无法获取tranId

传送门

https://blog.csdn.net/weixin_42697074/article/details/111238363

 

如果按照上面的网关tranid还是无效,可以手动添加:

@Autowired
Tracer tracer;

@Autowired
CurrentTraceContext currentTraceContext;
String[] logs = new String[]{"响应报文:"+responseStr+" 耗时:"+Long.valueOf(endTime-start)+"ms"} ;
WebFluxSleuthOperators.withSpanInScope(tracer, currentTraceContext, exchange, () -> log.info(logs[0]));
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot的@ConfigurationProperties注解用于将配置文件中的属性与Java类中的属性进行绑定。如果在使用Spring Boot 2.4.5版本时@ConfigurationProperties注解不生效,可能是由于以下几个原因: 1. 未添加@Configuration注解:在使用@ConfigurationProperties注解的类上要添加@Configuration注解,以确保该类被Spring容器扫描并创建Bean。 2. 未在Spring Boot的入口类上添加@EnableConfigurationProperties注解:如果@ConfigurationProperties注解的类不是在Spring Boot的入口类中被创建的Bean,需要在入口类上添加@EnableConfigurationProperties注解来启用@ConfigurationProperties注解的生效。 3. 配置文件中的前缀不正确:@ConfigurationProperties注解中的prefix属性用于指定配置文件中的属性前缀,要确保该前缀与配置文件中的属性前缀一致。 4. 未在配置文件中添加对应的属性:如果使用@ConfigurationProperties注解将配置文件中的属性与Java类中的属性进行绑定,要确保配置文件中存在对应的属性。 5. 未使用setter方法:在使用@ConfigurationProperties注解绑定属性时,需要提供相应的setter方法,以便Spring Boot能够将属性值设置到Java类中的属性中。 如果以上原因都排除了还是无法生效,可以尝试重新编译并清理项目,或者考虑升级到最新版本的Spring Boot。另外,也可以在Spring Boot应用启动时打印日志,查看@ConfigurationProperties相关的日志输出,以便进一步排查问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值