1.昨天为了将两个项目推送到远程仓库,了解了一下分支,将一个小工程作为一个分支,这是发生在git add .,git commit -m "描述"以及git reomte add origin HTTP之后的
  1. 获取当前仓库的分支
git branch
  1. 检查分支
git checkout branch
  1. 推送项目文件到分支
git push origin "分支名"
 
2.首先创建了一个test的数据库,然后创建了:sys_user、sys_role、sys_user_role三张表,并插入张表的数据;
 
3.编写了sso-common模块的payload(载荷)和result(结果)实体类;再编写了JsonUtil,JWTUtil以及RsaUtil等工具类
  1. 载荷
@data//get,set
public class Payload<T> implements Serializable{
private int id;
private T userInfo;//用户信息
private Date exppiration;//过期时间
}
  1. result
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result implements Serializable{
private Inteher code;
private String msg;
private Object data;
}
  1. JsonUtil
public class JsonUtil{
private static final Logger logger = LoggerFactory.getLogger(JsonUtil.class);
private static final ObjectMapper mapper = new ObjectMapper();
//将指定对象序列化为一个Json字符串
public static String toString(Object obj){
if(obj == null){
return null;
}
if(obj.getClass() == String.class){
return (String)obj;
}
try{
return mapper.writeValueAsString(obj);//将obj序列化为JSON字符串
}catch(JsonProcessingException e){
logger.error("JSON序列化出错:"+obj, e);
return null;
} //将指定JSON字符串、输入流解析为指定数据类型
public static <T> T toBean(String json, Class<T>tClass){
try{
return mapper.readValue(json, tClass);
}catch(IOException e){
logger("json解析出错:"+json, e);
return null;
}
} //将指定JSON字符串解析为指定数据集合、键值对集合、复杂类型对象
public static <E> List<E> toList(String json, Class<E> eClass){
try{
return mapper.readValue(json, mapper.getTypeFactory()
.constructCollectionType(List.class, eClass));
}catch(IOException e){
logger.error("json解析出错:"+json, e);
return null;
}
}
}
}
  1. JwtUtil:生成和校验token
//1.生成一个字符串类型的base64的JTI(JWT的位移身份标识)密码

//2.私钥加密token(分钟)

//3.私钥加密token(秒钟)

//4.公钥解密token

//5.根据token获取用户信息

//6.根据token获取载荷信息
  1. RsaUtil
//1.从文件中读取密钥

//2.从字节数组中获取公钥

//3.读取路径文件返回字节数组类型
 
4.反思:自己每天代码花崽总结上面很久,为什么不用每个方法的文字俩表达这个具体函数呢,这样不是更加透彻,而且时间更快;到一周总结的时候,把这些代码实现一遍;这样可以更好地节约时间,也可以更好地理解
 
5.复盘:根据现在有的代码回忆起以前的一些知识,将对象序列化为一个JSON字符串,解析字符串为指定类型;再就是一些工具类的编写其实都是固定的一些条件和步骤,这些只要熟练了就知道,就算忘记,看一下也清楚;

3.载荷和结果实体类以及Jwt的更多相关文章

  1. .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator

    去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...

  2. 实体类和DataTable的转换

    引子 最近在项目中在数据库查询的时间,总是要用到数据表到实体类对象列表的转化,自己封装了一个转换的方法,用起来还比较方便,记下来,以后可以重复使用,原理就主要是利用反射,当然有更好的ORM框架可以实现 ...

  3. [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值

    本文来自:http://www.cnblogs.com/mrchenzh/archive/2010/05/31/1747937.html /****************************** ...

  4. 关于entityframework 自动生成实体类中加验证的属性重新生成后属性被覆盖解决办法

    1.手动创建一个部分类 (你可以手动创建 partial class, 内容为空) [MetadataType(typeof(AppleMetadata))] public partial class ...

  5. MVC Code First 当实体类发生变化时,如何自动更新数据库表

    下面做一个例子,Category是用户新建的一个实体类,然后添加一个字段,然后让数据库中的Category表也添加一个字段 1.Category.cs

  6. MVC -- 后台RedirectToAction传递实体类与字符串

    1.MVC -- 后台RedirectToAction传递实体类 RedirectToAction(控制器,控制器方法,实体类) 2.MVC -- 后台RedirectToAction传递字符串 Re ...

  7. XML带多属性解析为一个实体类(利用反射)

    最近在对接一个银行的项目,大概就是类似一个钱包的功能,在请求返回的数据时,发现返回的数据标准的XML格式的支付串,格式如下 <kColl id="inputOrig" app ...

  8. 【Java EE 学习 69 下】【数据采集系统第一天】【实体类分析和Base类书写】

    之前SSH框架已经搭建完毕,现在进行实体类的分析和Base类的书写.Base类是抽象类,专门用于继承. 一.实体类关系分析 既然是数据采集系统,首先调查实体(Survey)是一定要有的,一个调查有多个 ...

  9. Hibernate jpa 在实体类中对于时间的注解

    在时间类型DATE 属性上添加一个 @Temporal(TemporalType.DATE)(精确到年月日)@Temporal(TemporalType.TIME)(精确到时分秒)@Temporal( ...

  10. ABP理论学习之实体类

    返回总目录 本篇目录 实体类 惯例接口 审计 软删除 激活/未激活 IEntity接口 实体是DDD(领域驱动设计)的核心概念之一.Eirc Evans是这样描述的实体的:"它根本上不是通过 ...

随机推荐

  1. JSON详述

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写 使用json函数需要导入json库,import json json.dumps  将p ...

  2. Mac设置自动连接蓝牙设备

    1.安装blueutil管理软件 通过 brew install blueutil 2.通过命令: blueutil --paired 查看当前连接过的蓝牙设备的地址. 3.获取blueutil软件的 ...

  3. ST能维护的性质

    总结: 其实ST表不仅能处理最大值/最小值,凡是符合结合律且可重复贡献的信息查询都可以使用ST表高效进行.什么叫可重复贡献呢?设有一个二元运算  ,满足  ,则是可重复贡献的.显然最大值.最小值.最大 ...

  4. MySQL的卸载与安装

    卸载 1.右键点击我的电脑 -->服务-->停掉MySQL的服务 2.控制面板卸载MySQL 3.删除隐藏文件夹 C:\ProgramData下的MySQL文件夹 4.删除MySQL文件夹 ...

  5. Web_Servlet之间请求转发

    Servlet2 @WebServlet(urlPatterns = "/aa") public class JspService extends HttpServlet { pr ...

  6. NOI 顺序查找——查找特定的值

    描述 在一个序列(下标从1开始)中查找一个给定的值,输出第一次出现的位置. 输入 第一行包含一个正整数n,表示序列中元素个数.1 <= n <= 10000.第二行包含n个整数,依次给出序 ...

  7. 调用mglearn时的报错 TypeError: __init__() got an unexpected keyword argument 'cachedir'

    import mglearn的时候发生的报错 原因是调用了joblib包中的memory类,但是cachedir这个参数已经弃用了 查到下面帖子之后改掉cachedir解决问题 https://blo ...

  8. Lenovo Vantage 完全卸载

    Lenovo Vantage 完全卸载 我的T480,最近因为在休眠状态下断电导致不开机,按开机键所有灯闪烁.翻阅百度发现居然是通病,自从 type-c 供电方案以来就有,无奈只有被奸商坑了350,只 ...

  9. Hadoop之HDFS优缺点、设计原理、框架

    如需大数据开发整套视频(hadoop\hive\hbase\flume\sqoop\kafka\zookeeper\presto\spark):请联系QQ:1974983704  Hadoop的前世今 ...

  10. 1006.Django模型基础01

    一.Django的ORM简介 1. ORM概念:对象关系映射(Object Relational Mapping): 2. ORM优势:不用直接编写SQL代码,只需像操作对象一样从数据库操作数据. d ...