0 课程地址
https://coding.imooc.com/lesson/380.html#mid=28592
1 浓缩精华
1.1 通用配置定义
详见代码部分
2 个人关注
2.1 * http消息转换器 *
将java的实体对象转换为http数据输出流,或者将http输入流转换为java对象
3 课程内容
3.1 通用模块架构
4 代码演练
4.1 新建imooc-coupon-service和coupon-common子模块
imooc-coupon-service模块 pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>imooc-coupon</artifactId> <groupId>com.imooc.coupon</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>imooc-coupon-service</artifactId> <packaging>pom</packaging> <modules> <module>coupon-common</module> </modules> </project>
coupon-common模块 pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>imooc-coupon-service</artifactId> <groupId>com.imooc.coupon</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>coupon-common</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <dependencies> <!-- 引入 Web 功能,对外提供服务接口 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- JSON 处理工具 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.31</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.0</version> </dependency> </dependencies> </project>
WebConfiguration(http消息转换器)
package com.imooc.coupon.conf; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import java.util.List; import java.util.Map; /** * WebConfiguration * http消息转换器 * 将java的实体对象转换为http数据输出流,或者将http输入流转换为java对象 * * @author 魏豆豆 * @date 2021/6/20 */ @Configuration public class WebConfiguration implements WebMvcConfigurer { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { converters.clear(); converters.add(new MappingJackson2HttpMessageConverter()); } }
JacksonConfig(jackson自定义配置)
package com.imooc.coupon.conf; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.text.SimpleDateFormat; /** * JacksonConfig * Jackson 自定义配置 * @author 魏豆豆 * @date 2021/6/20 */ @Configuration public class JacksonConfig { @Bean public ObjectMapper getObjectMapper(){ ObjectMapper objectMapper = new ObjectMapper(); objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); return objectMapper; } }