java
笔墨り轻狂
这个作者很懒,什么都没留下…
展开
-
Spring Boot 无侵入的实现API接口统一JSON格式返回响应
前言:在一个项目中,如果API接口返回响应不统一的话,在前后盾分离的场景下是会出现莫名其妙的BUG而且全部接口都做修改时工作量还是挺大,所以用无侵入式的方案来实现API接口统一JSON格式响应。定义返回json体{ "code": 200, // 状态码 "message": "success", // 返回信息描述 "data": {} // 返回数据} 定义JavaBean字段@Getter @ToString public class Re.原创 2020-12-28 06:07:47 · 263 阅读 · 0 评论 -
Spring 两大核心之一 IOC容器
原创 2020-12-21 06:25:32 · 151 阅读 · 0 评论 -
百亿流量API网关的设计记录
百亿流量微服务网关的设计与实现前言一、现状与问题1.API网关概述1.1什么是API网关(API Gateway)-历史脉络1.2API的使用特点二、使用步骤1.引入库2.读入数据总结前言本次分享我们从第七届MAD技术论坛-《API网关的设计与实现记录》API 网关(API Gateway)的现状和面临问题出发,阐述微服务架构与 API 网关的关系,理顺流量网关与业务网关的脉络,带来最全面的 API 网关知识与经验。。一、现状与问题1.API网关概述计算机科学领域的任何问题都可以通过增加一.原创 2020-11-09 10:15:55 · 356 阅读 · 0 评论 -
Springboot-统一异常处理
前言:有没有不需要跟Controller耦合,也可以将定义的 异常处理器 应用到所有控制器呢?所以注解@ControllerAdvice出现了,简单的说,该注解可以把异常处理器应用到所有控制器,而不是单个控制器。借助该注解,我们可以实现:在独立的某个地方,比如单独一个类,定义一套对各种异常的处理机制,然后在类的签名加上注解@ControllerAdvice,统一对 不同阶段的、不同异常 进行处理。这就是统一异常处理的原理。1.常见异常介绍在程序中大致分为两大异常:Error:系统级别的错误,程序.原创 2020-09-03 07:36:18 · 148 阅读 · 0 评论 -
mybatis plus 二(对常见的注解、EntityWrapper、MpGenerator的说明)
Mybatis-Plus 通过 EntityWrapper(MP 封装的一个查询条件构造器)或者 Condition(继承Wrapper) 来让用户自由的构建查询条件,简单便捷,没有额外的负担, 能够有效提高开发效率,这个时候就可以使用EntityWrapper来达到我们的目的,下面对于EntityWrapper的一些常见的方法解释: 先声明EntityWrapper对象原创 2020-08-26 23:48:00 · 993 阅读 · 0 评论 -
在PaaS上代理出现了异常的解决方案
前言:我们的项目基本都是在内网的,但是当你要访问第三方的插件或者是和第三方做集成时,需要后台与第三方接口做连接的,这个时候需要通过公司的代理服务器去访问外网。方法一:通过Java添加代理去访问外网可以看我之前这篇HttpClient-HttpClient4.5使用代理服务器访问外网起初使用Java代理的方式在本地和服务器上都没有任何影响,也能正常的访问外网,但是一部署到PaaS平台上就出现了被禁止的问题,尝试过很多办法都没有解决。突然灵光一闪,想起了这么一句话:当解决不了问题的时候,可以试着解决提出原创 2020-08-03 07:10:43 · 1145 阅读 · 0 评论 -
java使用RSA进行非对称公钥-私钥加密和解密
前言:在有外网的环境时,两个系统需要进行数据传输的时候 ,数据安全尤为重要,这时我们选择了进行RSA的非对称加密,解密。1.创建RSA密钥对象public static class RSAKeyPair { private final String publicKey; // 公钥 private final String privateKey; // 私钥 public RSAKeyPair(String publicKey, String p.原创 2020-07-27 12:04:38 · 342 阅读 · 0 评论 -
使用nginx将项目的http协议转成https协议
前言:由于公司的项目在进行渗透测试需要将不安全的HTTP协议换成安全的HTTPS协议。1.准备好证书准备好相应域名的证书(可以上阿里云购买域名和证书)。下载xxx.cert文件和xxx.key私钥,将其放在同一文件夹下 例如:/opt/app-root/src/ssl/xxx.crt;2.安装证书将nginx服务监听443端口 ,且添加ssl证书验证 server { listen 443 ssl; server_name local.原创 2020-07-20 17:11:54 · 568 阅读 · 0 评论 -
项目简单集成mybatis plus 一
前言: mybatis是现在国内比较流行的持久层框架,一般项目都是基于ssm.虽然mybatis可以直接在xml中使用SQL语句操作数据库,但是所有的操作都要通过xml文件,需要写大量的sql语句和xml文件,对于开发效率不是很友好。muybatis-plus就很好的解决这个问题。集成mybatis plus 一一、mybatis-plus 简介:二、ssm项目集成mybatis-plus1.在pom.xml文件中引入相关依赖2.在配置文件application.yml中添加相关配置3.修改启动类,增.原创 2020-07-14 10:54:29 · 404 阅读 · 0 评论 -
HttpClient-HttpClient4.5使用代理服务器访问外网
前言: 当你处于公司内网无法对外网的接口访问,但是我们有一些第三方的接口处于外网,所以这个时候就需要配置代理服务器发出请求达到我们想要的目的。通过代理服务器访问外网:通过HttpClient官网提供的文档,发现HttpClient4.5的代理服务器做如下配置(附上HttpClient官网提供的文档的地址) --------官网地址public static String postHttp(String url,String timestamp,String sign) { String res.原创 2020-07-05 17:30:35 · 1641 阅读 · 1 评论 -
微服务安全体系学习(二)
微服务框架基础学习-微服务安全(二)文章目录微服务框架基础学习-微服务安全(二)五、OAuth2授权服务器和资源服务器案例(理论)典型授权服务器组成Spring Security OAuth2架构六、JWT令牌(理论)访问令牌的类型JSON Web Token(JWT)七、OAuth2安全风险与案例实操(理论)常见的OAuth2.0安全问题CSRF八、OpenID Connect九、下一代微服务安全架构企业内部微服务架构体系如何对接授权服务器(获取、校验Token)生产级部署实践五、OAuth2授权服务原创 2020-06-22 16:53:03 · 208 阅读 · 0 评论 -
微服务安全体系学习(一)
微服务框架基础学习-微服务安全(一)文章目录微服务框架基础学习-微服务安全(一)学习概览一、课程特点二、微服务安全架构需要解决的问题开放系统间授权问题方法1:密码用户名复制办法方法2:万能钥匙方法3:特殊令牌传统单块应用安全现代微服务安全小课总结三、OAuth2的原理和定义OAuth2的原理OAuth2的定义OAuth 2.0的历史什么是OAuth2.0?令牌比仆从钥匙(Valet Key)OAuth2.0的优缺点OAuth2.0主要的角色OAuth术语OAuth2的令牌类型Outh2.0的误解小课总结四原创 2020-06-15 09:37:39 · 279 阅读 · 0 评论 -
记一次使用hibernate获取的数据不是实时的问题
前言:当前端把数据库中的某个用户下的事项全部删除时,发现他的事项统计数没有发生改变,查看请求发现他的数据还是之前的并不是数据库现有的数据,并且后台报出ObjectNotFoundException这个异常。1. 发现问题: 经过各种尝试与排查发现是由于hibernate的load()方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常,并返回之前延迟的数据。2. 分析问题原因: 在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种.原创 2020-06-09 15:12:50 · 189 阅读 · 0 评论 -
tomcat部署多个war包访问显示404
前言:在eclipse导出的maven项目war包,放到tomcat下启动,顺利启动且无报错,但是浏览器访问该项目时显示404。查找出的原因: 因为没有在server.xml中配置这几个项目,所以导致服务器查找不到。解决方法: 更改server.xml配置文件,使用元素将项目引入。<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"><!-- SingleSignOn valv.原创 2020-06-09 12:50:37 · 1009 阅读 · 0 评论 -
SpringBoot项目去内置Tomcat并打war包
SpringBoot项目去内置Tomcat并打war包1. 修改pom文件第一步:将包从jar包换成war包<packaging>war</packaging>第二步:去除内置tomcat,并添加servlet依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-w原创 2020-06-09 12:39:19 · 733 阅读 · 0 评论 -
Java免证书进行ldaps身份认证-转载
Java免证书进行ldaps身份认证-转载只提供免证书的认证部分,操作部分可以百度。认证部分,得到context即可对域进行各种操作; /** * 本文章是针对java JNDI方式操作ldap服务器。 * 这里给出一个关键的片段,通过这段代码获取的Context是可以免证书的进行操作远程AD域的,我之前就是通过证书方式的,一大堆复杂的操作导出什么密钥库之类的。且证书1年就失效了还 要企业根证书才行,很多限制!后来花了很多心思才找到这个方法。 * DummySSLSocketFacto转载 2020-05-24 12:17:56 · 1247 阅读 · 0 评论 -
记一次Java项目实现AD域身份认证
记一次Java项目实现AD域身份认证一、使用ldap实现AD域身份认证二、使用ldaps实现AD域身份认证1. java 导入可信任证书2. java通过ssl连接LDAP服务器在项目中,由于新做的系统要求必要接入集团的AD域,使用AD域进行身份认证登录系统,经过查阅资料使用了以下几种方式进行认证机制。一、使用ldap实现AD域身份认证ldap认证比较简单,使用Java自带API连接ldap服务器进行身份验证的,废话不多说直接上代码。 /** * 输入用户名和密码手动登陆验证AD账号密码原创 2020-05-24 12:13:51 · 2423 阅读 · 0 评论 -
java导入可信任证书
java导入可信任证书一、使用jdk中的keytool工具导入证书1. 找到keytool 工具去执行导入命令Ⅰ. windos环境下Ⅱ. Linux环境下2. 常用的keytool 命令Ⅰ.查看keystore证书库下面的所有证书Ⅱ. 导入证书Ⅱ. 删除证书3. 验证证书是否有效Ⅰ.点击下载 [SSLPoke.class](https://confluence.atlassian.com/kb/files/779355358/779355357/1/1441897666313/SSLPoke.class)原创 2020-05-24 12:12:27 · 4303 阅读 · 1 评论 -
SpringAOP拦截Controller实现用户操作日志记录(自定义注解的方式)
记一次用户操作日志功能完成-SpringAOP拦截Controller实现日志管理(自定义注解的方式一、背景二、收集实现方案三、使用Spring AOP实现用户操作日志具体步骤1. 环境配置1.1导入相应的jar包1.2 配置Spring的ApplicationContext.xml文件1.2.1 在头文件中添加aop的标签1.2.2 配置注解扫描以及开启AOP代理2. 创建自定义注解3.创建Spring AOP切面类4.因为需要从注解获取方法参数值5.在Controller中添加自定义注解)一、背景原创 2020-05-09 18:14:39 · 685 阅读 · 0 评论