2 回答

TA貢獻1884條經(jīng)驗 獲得超4個贊
實施了解決方法。
bean 在core模塊中定義:
@Configuration
public class CoreModuleConfiguration {
// ...
@Bean(name="coreLocalValidatorFactoryBean")
public LocalValidatorFactoryBean getValidator() {
LocalValidatorFactoryBean localValidatorFactoryBean = new LocalValidatorFactoryBean();
localValidatorFactoryBean.setValidationMessageSource(messageSource());
return localValidatorFactoryBean;
}
}
(完整版在這里)
web然后在模塊中提到了相同的bean :
@Configuration
public class WebModuleConfiguration implements WebMvcConfigurer {
// ...
private final LocalValidatorFactoryBean localValidatorFactoryBean;
@Autowired
public WebModuleConfiguration(
// ...
@Qualifier("coreLocalValidatorFactoryBean") LocalValidatorFactoryBean localValidatorFactoryBean
) {
// ...
this.localValidatorFactoryBean = localValidatorFactoryBean;
}
// ...
@Bean(name = "webLocalValidatorFactoryBean")
public LocalValidatorFactoryBean getValidator() {
return this.localValidatorFactoryBean;
}
}
好吧,它有點難看,但它確實有效。

TA貢獻1873條經(jīng)驗 獲得超9個贊
在javadocs to @SpringBootConfiguration
class中,據(jù)說
應(yīng)用程序應(yīng)該只包括一個
@SpringBootConfiguration
所以首先我會檢查這個核心配置是否已經(jīng)加載。@Configuration
使用@Import
或@ComponentScan
在 web 配置類中標記核心配置類可能是有意義的。
添加回答
舉報