springmvc配置文件 序列化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springmvc配置文件 序列化相关的知识,希望对你有一定的参考价值。
参考技术A 方法1一般需要为第三方java类实现序列化规则使用,这里以boolean转int为例(true/false->1/0),代码如下
// 1 编写自定义序列化类,实现JsonSerializer接口public class BooleanSerializer extends JsonSerializer<Boolean>
@Override
public void serialize(Boolean value, JsonGenerator gen, SerializerProvider serializers) throws IOException
if (value != null && value)
gen.writeNumber(1);
else
gen.writeNumber(0);
// 2 测试public class Test
@Test
public void globalSerialize() throws JsonProcessingException
ObjectMapper objectMapper = new ObjectMapper();
SimpleModule simpleModule = new SimpleModule();
BooleanSerializer serializer = new BooleanSerializer();
simpleModule.addSerializer(Boolean.class,serializer);
simpleModule.addSerializer(boolean.class,serializer);
objectMapper.registerModule(simpleModule);
// 输出 1
System.out.println(objectMapper.writeValueAsString(true));
在SpringBoot中只要将SimpleModule注册到容器中,容器会自动配置到Jackson上。全部配置代码如下,测试略
@Configurationpublic class JacksonConfig
/**
* 自定义boolean类型序列化规则
*/
static class BooleanSerializer extends JsonSerializer<Boolean>
@Override
public void serialize(Boolean value, JsonGenerator gen, SerializerProvider serializers) throws IOException
if (value != null && value)
gen.writeNumber(1);
else
gen.writeNumber(0);
@Bean
public SimpleModule simpleModule()
SimpleModule module = new SimpleModule();
BooleanSerializer serializer = new BooleanSerializer();
module.addSerializer(Boolean.class, serializer);
module.addSerializer(boolean.class, serializer);
return module;
方法2
自定义java类使用,以User类为例
@Datapublic class User
private Integer id;
private String name;// 1 自定义序列化类实现JsonSerializer接口public static class UserSerializer extends JsonSerializer<User>
// 假设序列化时,为每个字段增加u前缀
@Override
public void serialize(User value, JsonGenerator gen, SerializerProvider serializers) throws IOException
gen.writeStartObject();
gen.writeNumberField("uid", value.getId());
gen.writeStringField("uname", value.getName());
gen.writeEndObject();
// 2 通过@JsonSerialize注解指定序列化类@JsonSerialize(using = UserSerializer.class)public static class User 略// 3 测试public class Test
@Test
public void serializer() throws IOException
ObjectMapper objectMapper = new ObjectMapper();
User user = new User();
user.setId(1);
user.setName("ly");
String json = objectMapper.writeValueAsString(user);
// 输出 "uid":1,"uname":"ly"
System.out.println(json);
springmvc 静态文件获取配置文件
参考技术A 让静态资源不被SpringMVC分配器过滤有两种办法: ① 把所有的 JS 和 CSS 文件移至别... 文件夹需要被过滤的文件类型分别写一个 mapping第二种方法是在web.xml配置静态资以上是关于springmvc配置文件 序列化的主要内容,如果未能解决你的问题,请参考以下文章