
spring
海中源
Java软件工程师,数据挖掘,智能算法,Netty
展开
-
SpringBoot序列化与反序列化引起的车祸
序列化与反序列化原创 2020-07-14 15:09:19 · 635 阅读 · 0 评论 -
API带签名接口设计
说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃取)?除了https的协议之外,能不能加上通用的一套算法以及规范来保证传输的安全性呢?下面我们就来讨论下常用的一些API设计的安全方法,可能不一定是最好的,有更牛逼的实现方式,但是这篇是我自己的经验分享.本章目录:token简介timestamp 简介sign 简介防止重复提交使用流程代码分享一:token 简介Token:访问令牌access token, 用于接口中, 用于标识转载 2020-06-22 17:53:47 · 904 阅读 · 0 评论 -
SpringBoot使用Jwt来进行安全验证机制
一. HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,在开发对外开放的RESTful API时,尽量避免采用HTTP Basic Auth二.OAuthOAuth(开放授权)是一个开放的授权标准,允许用户让第三方应用访问该用户在转载 2020-06-19 15:22:21 · 760 阅读 · 0 评论 -
logback-spring.xml中两种相对路径生成日志文件的配置
在jar启动的目录下生成 <property name="log.path" value="./logs/"/>我比较倾向于这一种,由于项目配置,可以将logs目录配置到jar启动的当前目录下。例如在/opt/project/background启动test.jar。则日志会产生在/opt/project/background目录。在jar启动的上层目录生成<property name="log.path" value="../logs" />在jar启动的上层目录.原创 2020-06-11 21:21:52 · 2687 阅读 · 0 评论 -
SpringBoot RestTemplate get请求带参数的坑
Spring中RestTemplate get带参数请求,接受不到请求参数处理。该方法可以自动组装参数public class UrlParametersUtils { /** * 拼接get参数 * * @param baseUrl baseUrl 例如 https://www.baidu.com/ * @param parameterMap parameter map **/ public static URI handleUrlParameters(String原创 2020-06-08 20:33:03 · 2962 阅读 · 0 评论 -
SpringBoot请求日志超完整版
主要代码如下所示:import com.alibaba.fastjson.JSONObject;import lombok.AllArgsConstructor;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.Aspect;import原创 2020-06-05 17:12:30 · 861 阅读 · 0 评论 -
SpringBoot整合Mybatis格式化运行SQL以及SQL运行时间
主要代码如下所示:package com.aoke.oa.search.plugins;import com.baomidou.mybatisplus.core.toolkit.PluginUtils;import com.baomidou.mybatisplus.core.toolkit.SystemClock;import com.baomidou.mybatisplus.core.toolkit.sql.SqlFormatter;import lombok.extern.slf4j.S.原创 2020-06-05 17:09:51 · 1124 阅读 · 0 评论 -
springboot整合logback记录日志保存到文件
SpringBoot版本号是2.1.7.RELEASE所有日志都按天保存到一个文件中<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <!-- 属性定义 --> <!--日志保存路径--> <property name="LOG_HOME" value="./l.原创 2020-06-04 14:34:03 · 1276 阅读 · 0 评论 -
Spring Type Conversion(Spring类型转换)
1:概述:Spring3引入了core.convert包,提供了通用类型转换系统,定义了实现类型转换和运行时执行类型的SPI。在Spring3.0之前,提供的PropertyEditor来将外部化bean属性值字符串转换成必需的实现类型。2:Converter SPI/** * A converter converts a source object of type {@code S} ...翻译 2019-06-21 18:34:02 · 478 阅读 · 0 评论 -
SpringCloud|SpringBoot中properties中文乱码解决
1:原因乱码的原因是:spring 默认使用org.springframework.boot.env.PropertiesPropertySourceLoader 来加载配置,底层是通过调用 Properties 的 load 方法,而load方法输入流的编码是 ISO 8859-1。2:解决解决方法:实现org.springframework.boot.env.PropertySour...原创 2018-12-13 15:45:47 · 2758 阅读 · 1 评论 -
Spring中RestTemplate的使用
Get请求1:带参数的Get请求请求URL示例:http://localhost:8080/test/sendSms?phone=手机号&msg=短信内容//错误使用:@Autowiredprivate RestOperations restOperations;public void test() throws Exception{ String url = ...原创 2018-11-21 16:42:17 · 740 阅读 · 2 评论 -
SpringMvc建立统一异常处理
1.异常处理作用统一的异常处理可以让前台隔离那些对他们无需的信息,但是又让后台可以很好的规避泛滥的异常.2.代码示例:建立业务异常/** * 服务(业务)异常如"账号或密码错误",该异常只做INFO级别的日志记录 * * @see com.ley.springboot.seed.config.WebConfig */public class ServiceExceptio...原创 2018-10-30 16:09:50 · 276 阅读 · 0 评论 -
Springboot整合mybatis实现多数据源
1:SpringBoot整合mybatis实现多数据源有两种方法1:静态方式将每个数据源都实现一个mybatis的sqlSessionFactory中,但是这种方法,缺点在于:你有几个数据源都会有几个mybatis的配置类;对于数据源的事务也不是很好控制,你的声明数据源的事务配置类2:动态方式使用SpringBoot提供的AbstractRoutingDataSource 类进行数据...原创 2018-10-17 17:36:44 · 708 阅读 · 0 评论 -
SpringBoot整合Redis实现自动缓存、更新、删除
1:引入springboot redis的maven依赖(建议使用spring-boot-dependencies或者使用spring-io-platform进行构建项目) <dependency> <groupId>org.springframework.data</groupId> <ar...原创 2018-10-16 11:06:14 · 6799 阅读 · 0 评论 -
SpringBoot文件上传与下载
/** * file upload and download * * @author ley **/@Slf4j@Componentpublic class FileUploadUtils { /** * innovation file path **/ @Value(&quot;${innovation.file.path}&quot;) private ...原创 2018-09-25 17:19:17 · 254 阅读 · 0 评论 -
Spring IO Platform学习总结
1:Spring IO PlatformSpring IO Plat是一个附带包,不会编译到项目中,它只是将核心Spring API框架内聚集成到一个现代应用程序的平台中。它提供了已经测试完毕能很好协同工作的许多项目的Spring组合版本以及它们的依赖项。你在引入新的Spring IO Platform时不用带版本号的2:Maven使用Spring IO Platform使用pom的形...原创 2018-09-21 12:35:01 · 685 阅读 · 2 评论 -
ApplicationContextAware的作用
ApplicationContextAware的作用:(1):通过它Spring容器会自动把上下文环境对象调用ApplicationContextAware接口中的setApplicationContext方法,可以通过这个上下文环境对象得到Spring容器中的Bean (2):实现代码如下:/** * Spring容器上下文环境Holder * **/@Componentpub...原创 2018-05-28 17:04:04 · 3511 阅读 · 0 评论