2つの構成を1つの構成にマージしたいと考えています。ここでは、彼らが現在どのように見えるかです:WebMvcConfigurerAdapterとWebSecurityConfigurerAdapterを1つの@Configurationに拡張する@Configurationsをマージする方法はありますか?
WebMvcConfigurerAdapter私は春のクラス階層を見て、これらがどのような方法で関連しているクラスを拡張していないことを見てきました
@EnableAsync
@EnableScheduling
@EnableTransactionManagement
@EnableAspectJAutoProxy(proxyTargetClass = true)
@ComponentScan(
basePackages = {"..."})
@Import({
...
})
@PropertySources({
@PropertySource("..."),
@PropertySource(
ignoreResourceNotFound = true,
value = "...")
})
@EnableWebSecurity
@Configuration
public class AdminConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
//...
}
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
//...
}
@Configuration
@EnableWebMvc
@Import(...)
public class WebApplicationConfig extends WebMvcConfigurerAdapter {
@Override
public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
//...
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
//...
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
//...
}
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
//...
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//...
}
WebSecurityConfigurerAdapter。それらを置き換える注釈がありますか?これは、クラスを拡張するのではなく、インタフェースを実装することで解決できますか?
私がこれらのファイルをマージしたいのは、私が自分のアプリケーションをテストしているときにどのファイルを使うか考える必要がないように単一の設定をしたいからです。