属性配置
其他文章上看到到注解配置都是使用@Configuration
我也想当然的使用了这个注解。
然后悲剧各种不起作用。
springboot 的注解配置是使用@SpringBootConfiguration
问题
我springboot是打war包,放到tomcat里的。所有没有使用@SpringBootApplication
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
excludeFilters = {@Filter(
type = FilterType.CUSTOM,
classes = {TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication
这里@SpringBootApplication
表示多个注解。包含@SpringBootConfiguration
解决
把@Configuration
换为@SpringBootConfiguration
就可以了。
WebMvcConfigurerAdapter 的使用
WebMvcConfigurerAdapter有诸多方法可以使用。
继承这个类后。加了一个注解@SpringBootConfiguration
,然后override的方法就是不执行。
@SpringBootConfiguration
public class WebMvcConfigFastJson extends WebMvcConfigurerAdapter{
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
System.out.println("abc");
}
}
其他文章上查找,也没找出个所以然,看到的大概都是这个样子。
解决
需要添加 一个注解:@EnableWebMvc
,然后就可以了
@SpringBootConfiguration
@EnableWebMvc
public class WebMvcConfigFastJson extends WebMvcConfigurerAdapter{
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
System.out.println("abc");
}
}