升级 Spring Boot 2.6 后,有些人在通过 main() 方法启动应用时,也可能遇到以下异常:

比如如下情况:
@Component
public class A {
@Autowired
protected B b;
}
@Component
public class B {
@Autowired
protected A a;
}
就出出现上述问题。
这是因为从 2.6 开始,Spring Boot 默认禁用了如此的循环引用。如要解决,可以在application.properties配置中如下设置:
spring.main.allow-circular-references=true
Spring Boot 2.6 还将 Spring MVC 默认的请求路径匹配策略从 AntPathMatcher 变更为了PathPatternParser。
你可以访问官方文档查看更多变更详情:Spring Boot 2.6 Release Notes · spring-projects/spring-boot Wiki · GitHub
SpringBoot2.6默认禁止了循环引用,导致启动时出现异常。可以通过设置`spring.main.allow-circular-references=true`来允许。此外,SpringMVC的请求路径匹配策略改为PathPatternParser。详细变更可查阅官方文档。
1万+

被折叠的 条评论
为什么被折叠?



