我在一家互联网公司工作,最近SpringMVC的一个配置文件出现了问题。
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
public WebConfig() {
}
protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(new ByteArrayHttpMessageConverter());
ClassLoader classLoader = this.getClass().getClassLoader();
if (ClassUtils.isPresent("javax.xml.bind.Binder", classLoader)) {
converters.add(new Jaxb2RootElementHttpMessageConverter());
}
if (ClassUtils.isPresent("com.fasterxml.jackson.databind.ObjectMapper", classLoader)) {
converters.add(new MappingJackson2HttpMessageConverter());
}
StringHttpMessageConverter stringConverter = new StringHttpMessageConverter();
stringConverter.setWriteAcceptCharset(false);
converters.add(stringConverter);
converters.add(new ResourceHttpMessageConverter());
converters.add(new SourceHttpMessageConverter());
converters.add(new XmlAwareFormHttpMessageConverter());
}
@Bean
public RequestMappingHandlerAdapter requestMappingHandlerAdapter() {
RequestMappingHandlerAdapter adapter = super.requestMappingHandlerAdapter();
List<HandlerMethodReturnValueHandler> handlers = new ArrayList();
handlers.add(new ModelAndViewMethodReturnValueHandler());
handlers.add(new ModelMethodProcessor());
handlers.add(new ViewMethodReturnValueHandler());
handlers.add(new HttpEntityMethodProcessor(this.getMessageConverters()));
handlers.add(new ModelAttributeMethodProcessor(false));
handlers.add(new NullableRequestResponseBodyMethodProcessor(this.getMessageConverters()));
handlers.add(new ViewNameMethodReturnValueHandler());
handlers.add(new MapMethodProcessor());
if (!CollectionUtils.isEmpty(adapter.getModelAndViewResolvers())) {
handlers.add(new ModelAndViewResolverMethodReturnValueHandler(adapter.getModelAndViewResolvers()));
} else {
handlers.add(new ModelAttributeMethodProcessor(true));
}
adapter.setReturnValueHandlers(handlers);
return adapter;
}
}
该类来自外部jar包。
在我的 mvc-core-config.xml 中有一行:
<bean class="com.wosai.upay.common.config.WebConfig"/>
我想知道这些 spring 注解在这个类中是否有效?
最佳答案
据我了解你的意思是@Configuration
,如果是这样,这个类在两种情况下将是一个配置类
1) 您将在 Dispatcher Servlet 中将 pass 添加到此类
2)在主配置文件(用@EnableWebMvc
注释的类)中,您将使用@Import
导入此类,或者如果您放置@ComponentScan
该类将被自动扫描
关于java - @Configuration 和 @Bean 注释在此代码中起作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48017239/