自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

转载 Restful API 设计规范

转发:https://cizixs.com/2016/12/12/restful-api-design-guide/

2020-11-21 10:42:51 128

原创 JPA 单表双向自关联、转dto、jackson序列化循环引用问题

首先看实体,Organizationpackage com.example.organization.domain.repo.po;import lombok.Getter;import lombok.Setter;import org.hibernate.annotations.GenericGenerator;import javax.persistence.*;import java.util.Objects;import java.util.Set;@Entity@Tab

2020-11-19 17:54:01 1196 1

原创 抽奖

思路:因为Random随机数是一个均匀分布,也就是说每个数出现的概率大约是相等的。那么可以用随机数落在哪一个区间来决定是哪一个奖品。 比如一等奖概率为1,二等奖为2,三等奖为3。则 Random.nextInt(6) 落在 [0,1)的概率是 1/6,落在[1,3) 的概率是 2/6,落在[3,6) 的概率是 3/6,正好对应了中奖概率。源码如下:奖品类:package com.example.demo;import lombok.AllArgsConstructo...

2020-11-15 21:30:22 161

原创 DDD学习笔记

DDD分层架构是什么?4层架构:由下往上,基础层 -> 领域层 -> 应用层 -> 用户接口层领域层和应用层的区别是什么?先从底下往上逐层讲,单个实体自身的方法就是实体本身的业务行为。多个实体可组成更复杂的业务动作,这个是领域服务,实体的方法和领域服务共同构成领域模型的基础业务能力,这个能力是原子的基础的,不太考虑外界的用户行为和流程。而应用服务是对这些基础的能力进行组合和编排,它组合和编排的服务可以是跨聚合的领域服务,主要体现组合后的业务能力,更面向前端的用户操作...

2020-11-13 11:44:20 1318

原创 对Java回调的一点理解

首先解释一下何为回调?我的理解是原本是A调用B,在方法执行过程中B又会调用由A提供的一个方法,故称回调。好处是可以让调用方来决定部分算法逻辑,这让整个算法变得非常灵活,但是控制权还是在提供方这边。Spring的JdbcTemplate就是回调的典型实现,摘取 queryForObject() 进行分析public <T> T queryForObject(String sql, RowMapper<T> rowMapper, @Nullable Object... ar

2020-11-10 15:21:24 81

原创 让Spring事务支持同一个类的内部调用

问题:当同一个类中的方法A调用方法B时,即使两个方法都打上了@Transactional注解,方法B的事务也不会生效。原因:默认情况下Spring事务是基于代理的,也就意味着获取到的service对象是代理后的对象(class com.sun.proxy.$Proxy,基于接口的情况)。当外部调用该对象上的方法时,经过aop加上的事务逻辑后,最终会进入到目标对象(即原始的service对象)的方法逻辑,此时在方法内部再调用自己的另一个方法B,本质上就是在原始对象上进行调用,此时自然而然不会牵扯到任何ao

2020-11-09 18:18:25 1176

转载 Java日志

转载一篇总结的很好的Java日志文章:https://juejin.im/post/6844903678290165773

2020-11-08 22:33:45 50

转载 泛型

关于泛型讲的很好的一篇博文:https://blog.csdn.net/briblue/article/details/76736356

2020-11-03 00:23:49 67

转载 Oracle之 dmp导入/导出、数据库操作等过程中的字符集问题

转自:https://blog.csdn.net/QQ578473688/article/details/76216714

2020-10-05 12:22:30 142 1

转载 CentOS7 静默安装 Oracle 12c

转自:https://my.oschina.net/colben/blog/1834555oracle12c 下载地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

2020-10-05 12:21:10 123

转载 Centos 6 断网情况下如何安装软件包

转自:https://www.centos.bz/2017/11/centos-6-%E6%96%AD%E7%BD%91%E6%83%85%E5%86%B5%E4%B8%8B%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85%E8%BD%AF%E4%BB%B6%E5%8C%85/

2020-10-05 12:17:56 154

原创 查看linux内核版本和操作系统名称

hostnamectl Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 94180647ed13465483c3c4a3e6546886 Boot ID: 9e6b27e08eb04337a9acc8a19bc25471 Virtualization: vmware Operating

2020-07-29 12:04:57 919

原创 docker 传递 profile

可以使用 docker run -e spring.profiles.active=prod -p 8080:8080 ImageId 来指定profile

2020-07-21 11:23:46 640

原创 dockerfile打成docker上传到linux后运行报sh脚本找不到的错误

之前遇到一个奇葩错误,本地dockerfile打成docker上传到linux后(使用的是docker-maven-plugin),docker run imageID 一直报 ./run.sh not found 的错误。dockerfile如下:FROM openjdk:8-jdk-alpineRUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositoriesRUN apk update &a.

2020-07-20 09:34:48 1733 1

原创 shiro源码分析

接上一篇,https://blog.csdn.net/luxinghong199106/article/details/105707188这一篇主要通过2个流程,一个登录流程和一个登陆成功后的访问流程来看下 subject 的创建过程。因为subject 是 shiro 的核心,搞懂了它的创建过程,基本就搞懂了 shiro 的核心逻辑。(这一部分代码是基于传统表单验证的,不是基于JWT的)...

2020-04-24 12:03:03 338 1

原创 shiro源码分析二

接上一篇https://blog.csdn.net/luxinghong199106/article/details/105700133现在有个问题,当token认证通过以后,subject.isAuthenticated() = true 并且 subject.principal() 不为null,这一步操作是在哪里做的?回到源代码 JWTFilter 中,当我们带token访问时进行...

2020-04-23 14:50:58 179

原创 springboot+shiro+jwt 源码分析一

项目地址:https://github.com/headMe/shiro-jwt.gitshiro本质上是基于一系列filter的,根据不同的路径进入不同的filter,进行不同的逻辑处理,并决定是否要继续执行下一个filter。因此我们就可以控制整个应用程序的流转。(默认的在 DefaultFilter 中共12个)下面简单理一下shiro的执行逻辑:1. 因为shiro是基于f...

2020-04-23 12:10:59 317

原创 log4j打印彩色日志

先贴一份简单的log4j2配置:status=errordest=errname=PropertiesConfigappender.console.type=Consoleappender.console.name=STDOUTappender.console.layout.type=PatternLayoutappender.console.layout.pattern=%hi...

2020-04-02 09:30:09 3551

原创 实现一个类似纸张堆叠的效果

效果图如下:基本原理就是利用box-shadow。一般想到的是写2个baox-shadow,但出来的效果不好看,会导致每张纸的分界线不清晰。所以写2个阴影不透明的box-shadow 加上 3个阴影透明的box-shadow(有3条边界线),总共5个。另外box-shadow的第4个值为阴影大小,可以设为负值,表示阴影缩小,这样就能制造出逐渐变窄的效果。代码如下:box-...

2020-01-29 03:54:25 1180

原创 一个密码验证的正则表达式

要求:6-20个字符,字母、数字和特殊符号至少包含2种,不包括空格表达式:/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z\s]+$)\S{6,20}$/说明:^ 表示行的起始位置 (?![\d]+$) 不能全是数字 (?![a-zA-Z]+$) 不能全是字母 (?![^\da-zA-Z\s]+$) 不能全是特殊字符 \S 只能是非空...

2019-12-17 11:23:48 234

原创 nodejs中graphql的服务端和客户端实现

先简单介绍一下GraphQL。GraphQL 是一门出自Facebook,用于api的查询语言,被称作是Restful的替代品,已经有越来越多的公司和系统使用GraphQL来代替Restful。它的几个主要特点是: 1、只返回你想要的数据。传统Restful中返回的是对象的所有字段,而往往我们需要的只是其中几个字段,这样无疑造成了很大的带宽浪费。GraphQL中由你定义你的查询...

2019-12-10 11:43:26 1237

原创 openresty使用uuid

主要是使用到了resty.jit-uuid​​​​​​​ 这个模块,这个模块并没有集成到 OpenResty 中,可以直接从 github 上下载 jit-uuid.lua 文件,放到 OpenResty 的安装目录下的 lualib/resty 目录里。...

2019-12-02 15:36:27 1436

原创 记一次 centos7 + vue + nginx + uwsgi + django-rest + mysql 的部署过程

弄完了感觉也没那么复杂,但的确花了我2天的时间,主要是因为python版本和虚拟环境的问题。需要注意的事项已用黑体标出,这些步骤相当关键。关键的关键是要在虚拟环境中启动uwsgi,它才能找到各种依赖包。一、安装python3 因为centos7预装的是python2,但现在的程序都用的是pyhton3,所以要装上。 下载python3.7.4源码包:...

2019-12-01 22:34:36 305

原创 Django 数据库迁移到MySQL

默认Django数据库采用的是sqlite3,想迁移到mysql数据库。一、创建Mysql数据库,这没啥好说的,肯定你要先有个数据库吧。二、更改Django settings配置,修改为使用MySQL数据库。DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', ...

2019-11-28 15:01:35 1896

原创 axios跨域上传图片到openresty

先说明一下什么是跨域。同源:当协议、域名、端口一致的时候2个域名是同源的。比如aaa.cn和aaa.cn/xx/xxx是同源的,但和bbb.cn就不是同源的。为什么要设置同源策略限制?假如你登陆了一个银行网站,在没有退出的情况下登录了另一个网站,这个网站悄悄的携带了你银行网站的cookie对银行网站发起了请求,这样就能冒充你做所有的操作,因为银行网站并不知道到底是不是你发起的请求...

2019-11-15 21:10:40 612

原创 flexbox改写的一个响应式网页布局实例

<!DOCTYPE html><!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--><!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif...

2019-09-16 17:36:34 289

原创 网页布局样式小总结

浮动:元素向左或右移动,直到碰到父容器边框或者下一个浮动元素清除浮动:因为浮动元素会脱离文档流,所以会导致页面元素的重叠。而且如果一个父元素只包含浮动元素,会导致父元素高度崩塌(高度为0),比如ul内的所有li元素都浮动时,ul高度会变为0。解决办法是在ul上加上overflow:hidden,具体原理这里不详述。 另外一种方式是使用clear:both。...

2019-09-15 14:39:36 143

原创 全面解析SpringMVC参数映射原理

目录一、第一种情况,方法参数带@RequestBody 注解1.GET 请求方式,传递的值放到请求参数上。2. GET方式,请求中带body体3. GET方式,content-type 改为 application/json ,结果正确。4.上述方式改为POST,过程是一致的,只是报错信息变了.5.这里引申一个知识点,关于 @RequestBody是如何被解析的。二...

2019-08-01 18:51:13 4053 1

原创 mysql 分组后将某列的值合并成一行

有这么个表ID NAME 1 张三 1 李四 2 王五 2 小六 要得到以下结果:ID NAME 1 张三,李四 2 王五,小六 SQL:select t.id,GROUP_CONCAT(t.name SEPARATOR ',') from t group by t.id注意GROUP_CONCA...

2019-07-24 21:47:11 4986

原创 简单说明mysql中的hash索引

首先,只有Memory引擎支持Hash索引。InnoDB引擎可以采用伪Hash索引。可以把索引列看作key,把一条记录看作一个对象即value,实际上value存储的是一个指针,对应该记录的地址。进行这么一个查询:select * from students where name ='张三'在students表的name列上建了hash索引。步骤如下:通过某个hash函数对索...

2019-07-24 13:15:17 397

原创 byte数组转十六进制字符串

private static String byteArrayToHex(byte[] byteArray) { // 首先初始化一个字符数组,用来存放每个16进制字符 char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'...

2019-07-10 16:24:33 746

原创 mysql group by with rollup

rollup用于在group by的基础上再进行一次相同的统计源数据:mysql> SELECT * FROM employee_tbl;+----+--------+---------------------+--------+| id | name | date | singin |+----+--------+-------------...

2019-07-10 12:31:25 164

原创 计算不同单位的时间差

public static String getTimeGap(Date startTime, Date endTime) { Duration duration = Duration.between(Instant.ofEpochMilli(startTime.getTime()), Instant.ofEpochMilli(endTime.getTime())); ...

2019-07-07 20:59:58 374

原创 docker进入正在运行的容器中执行命令

docker ps:查看当前正在运行的所有容器docker attach container:附加到运行容器中。不推荐使用,经常会卡住docker exec -it container 命令:推荐使用。如docker exec -it container mysql -uroot -p...

2019-07-07 19:06:13 4317

原创 jquery.treegrid结合Bootstrap Table实现树表格

这是实现树表格的另外一种方式。如果采用jqgrid,可以直接用它自带的实现,参考另一篇博客。直接上代码<!doctype html><html> <head> <link rel="stylesheet" href="/static/css/bootstrap.min.css"> <!--<l...

2019-04-15 00:57:50 1801

原创 一个Bootstrap Table的基本实例

代码:<!doctype html><head> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww...

2019-04-13 21:28:32 1919

原创 jqgrid 树表格

直接上代码<table id="treeGrid"></table>引入(这里采用的是bootstrap的样式):bootstrap.min.cssui.jqgrid-bootstrap4.cssjquery.min.jsgrid.locale-cn.jsjquery.jqGrid.min.js $("#deptTable").jqGrid({ ...

2019-04-13 19:19:53 274

原创 springboot2整合mybatis,包括分页插件和generator

pom文件 &amp;lt;!--mysql--&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;mysql&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;mysql-connector-java&amp;lt;/artifa

2019-03-15 19:24:02 485

原创 tomcat9设置编码

catalina.bat中更改set “JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%”为set “JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF-8”

2019-02-27 23:27:13 3092

原创 SpringBoot项目中使用Swagger2和Spring rest docs 生成Rest API 文档

废话不多说,直接操作。先创建一个实体类和一个Api类public class User implements Serializable { private static final long serialVersionUID = -2065219158879641001L; private String id; private String name; priv...

2019-01-29 18:55:48 2873 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除