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. Vue系列---【自定义vue组件发布npm仓库】

    自定义vue组件发布npm仓库 参考链接:自定义vue组件发布npm仓库

  2. jsp第9个作业

    regist.jsp <%@ page language="java" import="java.util.*" pageEncoding="U ...

  3. vue中router.resolve

    resolve是router的一个方法, 返回路由地址的标准化版本.该方法适合编程式导航. let router = this.$router.resolve({ path: '/home', que ...

  4. Delphi注解(不是注释)

    开发环境Delphi XE10 1 unit Unit1; 2 3 interface 4 5 uses 6 Winapi.Windows, Winapi.Messages, System.SysUt ...

  5. C# 图片 等 文件 读取操作 的一点提示

    源于:在读取图片时,总喜欢首先采用:Image img=Image.FromFile("");操作,这种方式由于 调用图片的程序与图片文件是通过 绝对地址关联的,会造成 当前进程或 ...

  6. tuxedo 12c 安装

    tuxedo12c 安装命令 静默安装 控制台安装 tuxedo版本介绍 Tuxedo Release Name Tuxedo Release Number Note which contains L ...

  7. group by和union,Laravel分页

    $res3 = DB::table('users') ->join('user_folow_boutiques', 'user_folow_boutiques.user_id', '=', 'u ...

  8. Hadoop-HA节点介绍

    设计思想 hadoop2.x启用了主备节点切换模式(1主1备) 当主节点出现异常的时候,集群直接将备用节点切换成主节点 要求备用节点马上就要工作 主备节点内存几乎同步 有独立的线程对主备节点进行监控健 ...

  9. 今日Python练习--正则表达式的相关练习import re

    1.如何利用Python在文本中国提取手机号码 # 如何利用Python在文本中提取手机号码 import re content="白日依山尽,黄河入180320213699999909海流 ...

  10. 利用Vue技术实现的查询所有和添加功能

    就是根据Vue本身的特性,对之前写过的JSON等进行页面代码的简化. 其中,有俩点,需要明白一下: 在body标签里面,使用div标签,将列表数据包住,并设置一个id,便于vue对其的引用 在使用vu ...