关于maven:SSMMavenJackson

1 Maven概述

Maven是一个项目管理工具,它蕴含了一个我的项目对象模型 (Project Object Model),一组规范汇合,一个我的项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)指标(goal)的逻辑。当你应用Maven的时候,你用一个明确定义的我的项目对象模型来形容你的我的项目,而后Maven能够利用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

maven次要是用来解决包依赖问题。

在我的项目分服务开发中,之前大家是导入jar包来引入代码,可能存在不同服务雷同性能应用不同版本,导致局部性能无奈应用。
后引入maven项目管理工具,先能够将服务中的雷同性能向上抽取,造成共性依赖maven-parent,各服务中依赖继承maven-parent,对立治理依赖,方便管理和保护,防止包依赖问题。

留神:将maven-parent打成pom包<

packaging>pom</packaging>

2 Jackson

概述:Jackson 是一个 Java 的用来解决 JSON 格局数据的类库

三大性能:

  • jackson-core,外围包,提供基于”流模式”解析的相干 API,它包含 JsonPaser 和 JsonGenerator。 Jackson 外部实现正是通过高性能的流模式 API 的 JsonGenerator 和 JsonParser 来生成和解析 json。
  • jackson-annotations,注解包,提供规范注解性能;
  • jackson-databind ,数据绑定包, 提供基于”对象绑定” 解析的相干 API ( ObjectMapper ) 和”树模型” 解析的相干 API (JsonNode);基于”对象绑定” 解析的 API 和”树模型”解析的 API 依赖基于”流模式”解析的 API。

2.1 ObjectMapper

Jackson 最罕用的 API 就是基于”对象绑定” 的 ObjectMapper。上面是一个 ObjectMapper 的应用的简略示例。

  • ObjectMapper 通过 writeValue 系列办法 将 java 对 象序列化 为 json,并 将 json 存 储成不同的格局,String(writeValueAsString),Byte Array(writeValueAsString),Writer, File,OutStream 和 DataOutput。
  • ObjectMapper 通过 readValue 系列办法从不同的数据源像 String , Byte Array, Reader,File,URL, InputStream 将 json 反序列化为 java 对象。

json与对象的转化:

package com.jt.util;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class ObjectMapperUtil {
   /** 
     *1.对象如何转化为JSON串的???
     *  步骤:
     *      1.获取对象的所有的getXXXX()办法.
     *      2.将获取的getXXX办法的前缀get去掉 造成了json的key=xxx
     *      3.通过getXXX办法的调用获取属性的值,造成了json的value的值.
     *      4.将获取到的数据 利用json格局进行拼接 {key : value,key2:value2....}
     * 2.JSON如何转化为对象???
     *      {lyj:xxx}
     *  步骤:
     *      1. 依据class参数类型,利用java的反射机制,实例化对象.
     *      2. 解析json格局,辨别 key:value
     *      3. 进行办法的拼接 setLyj()名称.
     *      4.调用对象的setXXX(value) 将数据进行传递,
     *      5.最终将所有的json串中的key转化为对象的属性.
     **/

    private static final ObjectMapper MAPPER = new ObjectMapper();

    //将对象转化为JSON
    public static String toJSON(Object target){
        try {
           return MAPPER.writeValueAsString(target);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }

    //将JSON转化为对象
    //需要: 如果用户传递什么类型,则返回什么对象
    public static <T> T toObject(String json,Class<T> targetClass){
        try {
            return MAPPER.readValue(json, targetClass);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理