您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Spring Boot 2.1.0启动程序配置中将spring.main.allow-bean-definition- overriding设置为true

如何在Spring Boot 2.1.0启动程序配置中将spring.main.allow-bean-definition- overriding设置为true

Spring Boot的ErrorAttributesbean由定义ErrorMvcAutoConfiguration。带有注释,@ConditionalOnMissingBean因此如果ErrorAttributes已经定义了bean ,它将取消。由于ErrorsConfig类定义的Bean 试图覆盖Boot的ErrorAttributesbean而不是使其退出,因此ErrorsConfig必须在Boot的ErrorMvcAutoConfiguration类之后对您的类进行处理。这意味着您的起动器有订购问题。

可以使用@AutoConfigureBefore和来控制自动配置类的处理顺序@AutoConfigureAfter。假设ErrorsConfig本身就是在其中注册自动配置spring.factories,则可以通过使用注释解决问题@AutoConfigureBefore(ErrorMvcAutoConfiguration.class)。进行此更改后,ErrorsConfigErrorAttributesErrorMvcAutoConfiguration尝试进行定义之前定义其bean,这将导致BootErrorsAttributeBean 的自动配置退出

Java 2022/1/1 18:53:01 有455人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶