springboot使用注解配置filter以及对象转换
来源:互联网 发布:阿基米德软件下载 编辑:程序博客网 时间:2024/06/06 12:21
其实这部分配置就是从之前xml中提取出来,用注解的方式配置。
1、配置filter
方法一:
1)在application中添加注解@ServletComponentScan
2)写一个filter,用@WebFilter(urlPatterns = “/*”)注解标注
方法二:
1)写一个WebMvcConfig类继承WebMvcConfigurerAdapter
2)使用@EnableWebMvc,@Configuration注解
3)写一个filter的初始化方法,用@Bean注解
4)写一个FilterRegistrationBean的初始化方法,用@Bean注解,在初始化方法中配置之前的filter。
代码见后文。
2、配置拦截器
1)在之前的config类中,写一个拦截器初始化方法,用@Bean注解
2)重写addInterceptors方法, 在其中配置拦截路径以及不拦截 路径
代码见后文。
3、配置对象转换
见后文代码,配置了json格式转换为对象, 已经时间统一格式转换。
@EnableWebMvc@Configurationpublic class WebMvcConfig extends WebMvcConfigurerAdapter{ @Bean public HandlerInterceptorAdapter handlerInterceptorAdapter(){ return new HandlerInterceptorAdapter(); } @Bean public FilterRegistrationBean characterEncodingFilterRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); //注入过滤器 registration.setFilter(characterEncodingFilter()); //拦截规则 registration.addUrlPatterns("/*"); //过滤器名称 registration.setName("CharacterEncodingFilter"); //过滤器顺序 registration.setOrder(1); return registration; } @Bean public CharacterEncodingFilter characterEncodingFilter(){ CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter(); characterEncodingFilter.setEncoding("UTF-8"); characterEncodingFilter.setForceEncoding(true); return characterEncodingFilter; } @Bean public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); List<MediaType> supportedMediaTypes = new ArrayList<>(); supportedMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); supportedMediaTypes.add(MediaType.TEXT_HTML); converter.setSupportedMediaTypes(supportedMediaTypes); converter.setObjectMapper(objectMapper()); return converter; } @Bean public ObjectMapper objectMapper() { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); return objectMapper; } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(handlerInterceptorAdapter()).addPathPatterns("/**"); super.addInterceptors(registry); } @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { converters.add(mappingJackson2HttpMessageConverter()); super.configureMessageConverters(converters); }}
也可以在xml文件中配置,在application中使用注解@ImportResource(“classpath:beanRefContext.xml”),配置引入的xml文件。
在此xml文件中配置filter,interceptor,对象转换
这里额外记录一下对象转换的xml配置
<mvc:annotation-driven> <mvc:message-converters> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> </list> </property> <property name="objectMapper"> <bean class="org.codehaus.jackson.map.ObjectMapper"> <property name="dateFormat"> <bean class="java.text.SimpleDateFormat"> <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/> </bean> </property> </bean> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
阅读全文
0 0
- springboot使用注解配置filter以及对象转换
- springboot filter使用配置
- springboot中使用Mybatis注解配置详解
- SpringBoot Filter配置
- SpringBoot配置Bean的两种方式--注解以及配置文件
- SpringBoot中使用Filter
- springboot 下使用Filter
- Springboot 中filter 注入对象
- 注解配置Filter
- springBoot配置servlet,filter,listener
- SpringBoot中的注解使用
- Springboot 使用Redis注解
- springboot搭建以及常用注解
- 1--springBoot的注解使用,aspectj注解的使用,配置类的使用
- 06Spring_使用注解配置bean对象
- 非注解方式获取spring bean对象以及配置值
- SpringBoot--添加配置Servlet,Filter,listener
- springboot mvc 配置servlet filter lister
- Python3爬虫之三网页解析【爬取豆瓣Top电影】
- JAVA设计模式之单例模式
- wget 指定本定文件夹和保存为特定名称
- jQuery 针对同一元素的多个函数操作的写法
- JAVA学习 数据类型的概述和分类
- springboot使用注解配置filter以及对象转换
- Android-25种开源炫酷动画框架
- 24读书笔记之调用摄像头和相册
- 网络爬虫系列笔记(4)——Scrapy爬虫
- gerrit 使用中踩过的小坑
- hibernate的一些属性值
- 网易2018笔试题二
- uburntu在不能自动获取网络时的联网设置
- virtualbox虚拟机修改分辨率