我只是使用 Spring 3.1 设置一个 Web 应用程序,我正在尝试通过使用 java 配置来做到这一点。我有两个配置类“AppConfig”(通用 bean 定义)和“WebConfig”(Spring MVC 配置)。如何在 WebConfig 类中引用已在 AppConfig 中声明的 bean?
下面,AppConfig 配置类中的验证器应该使用来自 WebConfig 的 messageSource。
应用配置:
@Configuration
@ComponentScan(basePackages = { "com.example" })
public class AppConfig {
@Bean
public Validator validator() {
final LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
validator.setValidationMessageSource(messageSource());
return validator;
}
}
网络配置:
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = { "com.example.common.web", "com.example.web" })
public class WebConfig extends WebMvcConfigurerAdapter {
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
final ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
return messageSource;
}
}
当我想从同一个配置类中引用一个 bean 时,我只需调用它的 setup 方法,但是当 bean 在另一个类中声明时我显然不能这样做。
您的建议将不胜感激!