Spring 3.1を使用してWebアプリケーションをセットアップしているだけで、Java構成を使用してこれを実行しようとしています。「AppConfig」(一般的なBean定義)と「WebConfig」(SpringMVC構成)の2つの構成クラスがあります。WebConfigクラスのAppConfigで宣言されたBeanを参照するにはどうすればよいですか?
以下では、AppConfig構成クラスのバリデーターは、webConfigからのmessageSourceを使用する必要があります。
AppConfig:
@Configuration
@ComponentScan(basePackages = { "com.example" })
public class AppConfig {
@Bean
public Validator validator() {
final LocalValidatorFactoryBean validator = new LocalValidatorFactoryBean();
validator.setValidationMessageSource(messageSource());
return validator;
}
}
WebConfig:
@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が別のクラスで宣言されている場合は、明らかにこれを行うことができません。
あなたのアドバイスは大歓迎です!