自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

热水钟博客

人生是旅行,技术研究与基于产品化下研发是一种修行。

原创 数据库设计原则与编写sql规范要求-据于阿里开发手册简化

北京速融科技数据库设计与sql编写规范要求 热水.钟 2019.3.28 前言 规范的数据库设计是提升数据库性能的提前条件,为后期维护减轻了压力,一份好的指导规范文件,作为数据库设计人员的工作纲要,指导其如何设计数据库,同时也指导开发人员如何在编写sql语句时要注意的地方。最终目的是提升系统...

2020-04-08 15:24:57

阅读数 7

评论数 0

原创 大话微服务:(十)Spring Cloud gateway+OAuth2 实现用户认证及单点登录(一)OAuth2介绍

一、OAuth2的术语 Authorization server: 认证服务器 Http service: HTTP服务提供商 Resource server: 资源服务器,即服务提供商存用户资源的服务器,它与认证服务器可以是同一台服务器,也可以不同。 Resource Owner...

2020-03-31 19:29:29

阅读数 62

评论数 0

原创 大话微服务:(九)spring boot如何满足nacos的要求,即自动注册到nacos中的服务中。

一、第一种配置法,spring boot中写死nacos的ip及端口的方案: (一)spring boot的pom.xml中配置spring cloud alibaba <!-- Nacos --> <dependency> <groupId>co...

2020-03-30 22:40:43

阅读数 31

评论数 0

原创 大话微服务:(八)nacos下载与安装配置

一、前提 (1)下载nacos, 下载地址:https://github.com/alibaba/nacos/releases (2) 安装mysql8.0及对应的数据库驱动,并且导入nacos数据库脚本。 cmd startup.cmd 或者双击startup.cmd运行文件。 ...

2020-03-30 22:24:56

阅读数 27

评论数 0

原创 大话微服务:(七)规模不大的单体程序推荐也用微服务技术这是一个趋势---单体内部微服务设计方案

参考了一篇优透博文:https://mp.weixin.qq.com/s/9FT6jAU89Y9pBxiiJ0NzfQ

2020-03-27 21:39:25

阅读数 18

评论数 0

原创 大话微服务:(六)一个产品需要多少数量的微服务是合理的?一个微服务多少数据库表是合理的?

一、概述 微服务技术的出现,不是技术的创新,而是满足管理需要。主要目的解决单体程序由于过大,造成了组织开发,部署运维工作无法协调,主要问题就是:不同的模块可能上线的时间节点不一样,对服务器的优化要求也不一样,团队人员太多,如何高效组织与集成。 微服务出现后,一个团队负责一个或者几个微服务,...

2020-03-27 21:28:31

阅读数 46

评论数 0

原创 大话微服务:(五)微服务之间调用的两种方式:RPC方式和事件驱动(event-driven)方式

微服务中经常会采用,技术上选择事件驱动,业务上讲是RPC模式。事件通知作为微服务的集成方式,应用越来越广。 一、RPC方式(紧耦合): 点对点的远程函数标签模式,实时返回值,常见RESTFul,gRPC,Dubbo都是这种方式,同步的。 二、事件驱动方式(松耦合),即消息模式 事件...

2020-03-27 21:16:35

阅读数 38

评论数 0

原创 Maven的继承与聚合详解

一、Maven为什么需要定义继承?如何定义 个人总结:继承是为了工程的多模块之间依赖的jar共享并且版本唯一性。 一个系统可能分为多个子项目(即模块),为了版本管理统一,所以只在一个地方定义版本号,所以只要在父pom.xml中定义依赖jar包的版本号,在子项目(或称模块)的pom.xml...

2020-03-26 11:13:15

阅读数 23

评论数 0

原创 大话微服务:(四)spring cloud alibaba -nacos深入研究

官网手册:https://nacos.io/zh-cn/docs/what-is-nacos.html 一、nacos是什么? 微服务的注册、发现及配置中心,即微服务的大脑,它有几个关键特性:微服务的注册、服务的发现(nacos支持DNS和基于RPC的服务发现)、动态的配置。 一句总结:...

2020-03-25 16:21:20

阅读数 33

评论数 0

原创 大话微服务:(三)Spring Cloud Netflix 和Spring Cloud alibaba服务技术架构

一、Spring Cloud Netflix 和Spring Cloud alibaba服务技术架构比较 二、重点介绍Spring Cloud alibaba微服务一站式解决方案 Spring Cloud 本身其实只是一套微服务规范,并不是一个拿来即可用的框架,Spring Cloud ...

2020-03-25 15:38:52

阅读数 180

评论数 0

原创 一个单体的spring boot做后台系统需要集成哪些组件

1.mybatis plus 2.集成druid连接池 3.集成swagger2,可自动生成api文档 4.集成jwt(前后端api保护)、oauth2(第三方应用)、spring security权限控制 5.集成redis3.2+ 6.集成rabbit/rocket/kafka mq...

2020-03-22 00:51:19

阅读数 95

评论数 0

原创 vue Router路由研究总结笔记(二、vue router )

一、动态路由应用场景: 当需要根据参数映射到同一个组件时,例如修改不同用户信息项时,定义法: const User = { template: '<div>User</div>' } const router = new VueRoute...

2020-03-21 06:21:23

阅读数 23

评论数 0

原创 flowable实战(十二)flowable 任务的办理方式探讨

一、根据flowable这类国外的开源工作流,它的任务办理方式为两种: 1.任务需要签收才办理,即有一个接收任务的过程:任务创建后,流程进入一个等待的状态 2.任务不需要签收,就可以直接办理: ...

2020-03-21 06:21:06

阅读数 116

评论数 2

原创 easyExcel2.0.5后续新版本新用法研究(一)与旧版本1.1.1对比

1. excel的 pojo 实体类取消了 继承BaseRowModel. 2.exce的pojo原来的format = "yyyy-MM-dd"不再支持,改为增加如下一个注解注入: /** * 借款到期 */ @DateTimeFormat("yyyy/M...

2020-03-21 06:20:18

阅读数 67

评论数 0

原创 spring boot 整合Ehcache缓存及使用研究

声明:转载请注明出处 热水2020.02.28 于北京 一、前言 三大主流缓存,redit,ehCache,memCached。考虑到公司的软件产品,并发数没有这么大,单应用的部署场景比较多,所以选择了ehCache作为缓存方案,这样部署时省事。 官方地址:http://www.ehcac...

2020-03-21 06:19:17

阅读数 52

评论数 0

原创 关于数据库主键方案的研究(雪花算法)

一、前言 目前主流的三种数据库主键,分别是: 数据库自增id字段:适合单表单库时应用。 UUID:UUID是由开放软件基金会(OSF)定义的,UUID是一个由4个连字号(-)将32个字节长的字符串分隔后生成的字符串,总共36个字节长。比如:550e8400-e29b-41d4-a7...

2020-03-21 06:19:02

阅读数 70

评论数 1

原创 大话微服务:(三)微服务架构与中台战略

一、前言 随着移动互联网规模的不断扩大,敏捷开发,持续交付,DevOps理论的发展和实践,以及容器技术的成熟,微服务架构开始流行。 二、微服务的核心: 微服务的核心在于服务治理,微服务架构是将复杂臃肿的单体应用进行细粒度的服务化拆分,每个拆分出来的服务各自独立打包部署,并交由小团队进行开发...

2020-03-21 05:36:12

阅读数 64

评论数 0

原创 大话微服务:(二)对于业务如何划分微服务,即微服务的颗粒度,又称业务边界

业务原则: 一、微服务的划分是一个难点,如何处理好:(1)微服务不能太大,也不能太小 (2) 紧密耦合程度如何把握? 二、微服务颗粒度划分与设计原则: 1. 这个微服务不会与其他的服务共享数据库表,注意是表,不是库,即避免多个微服务引用同一个表的服务,如果有他们均属于同一个微服务。 2.这...

2020-03-19 22:23:11

阅读数 53

评论数 0

原创 大话微服务:(一)什么是微服务,为什么需要用微服务?

一、微服务是什么? 定义:微服务是一些协同工作的小而自治的服务,这个服务是高凝聚力和松散耦合的。 二、为什么要用微服务? 通常我们把微服务说成是一个技术架构的进化,从第一代的单体架构,到期第二代SOA架构,第三代微服务架构。 第三代的出现,一定是为了解决第一代和第二代的不足之处的: ...

2020-03-19 13:29:30

阅读数 17

评论数 0

原创 更改MySQL数据库的编码为utf8mb4

一、概述 utf-8编码可能2个字节、3个字节、4个字节的字符,但是MySQL的utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符。如果直接往采用utf-8编码的数据库中插入表情数据,Java程序中将报SQL异常: 二、创建数据库时,设置为utf8mb4 格式: ...

2020-03-18 22:25:36

阅读数 32

评论数 0

原创 工具研究:(三)Nginx配置错误的路由时均统一跳转到登录界面

一、背景 为了满足360安全检测的要求,如果输入的路由不存在,系统会出现404的错误代码,并且会出来nginx的版本号,这样会出现安全漏洞,攻击者通过404可能知道服务器的相关路径目录,例如: 二、解决办法: 在vue的路由中配置了公用出错404的提示,发现部署到了nginx不管...

2020-01-17 13:10:00

阅读数 70

评论数 0

原创 工具研究:(二)Nginx及spring boot禁用OPTIONS TRACE不安全方法

一、背景 为了满足360安全检测的要求,由于系统要在政府网的云服务器上运行,360与政府均有合作,上线前必须获得360的安全认证,方可上线。 二、360安全要求,尽量用get和post的api的应用,禁用OPTIONS ,即对put,delete,tract等最不要使用,他们认为不安全。 ...

2020-01-11 13:55:35

阅读数 353

评论数 0

原创 工具研究:(一)前端vue和后端spring boot 采用RSA对密码进行加密

一、需求概述: 为了满足360安全检测的要求,前端的密码不允许明文传输给后端进行密码验证,那么需要对密码进行前端加密,后端解密,目前流行的做法是采用RSA前端用公钥加密,后端用私钥解密的方案。 二、具体方案 (一)下载支付宝生成公私钥的工具AlipayDevelopmentAssist...

2020-01-07 03:02:45

阅读数 278

评论数 0

原创 股票知识:(一)投资名言

一、威㾾.欧奈尔投资名言: 1. 止损是投资的第一要义,是最重要的原则。 2. 我们投身于这个市场,不是来证明自己的正确性,而在自己判断正确的时候赚钱; 在失误的时候,及时纠正错误。 3. 只要努力工作,每个人都能达到自己的目的。倘若遭遇挫折,不要泄气,应该回头看看,总结一下经验得失,并加倍...

2019-12-28 21:09:01

阅读数 49

评论数 1

原创 flowable实战(十六):关于流程设计器: bpmn.js 彻底汉化

一、bpmn.js官方例子有一个bpmn-js-examples/i18n专门讲了如何将bpmn-js中显示的字符转换为另一种语言的方案,本文根据官方的描述进行的实战。 二、原理: bpmn-js在实例化时,它把转换语言的功能(custom-translate)作为一个额外的配置模块,这样就覆...

2019-12-24 00:21:08

阅读数 788

评论数 1

原创 flowable实战(十五):关于流程设计器: bpmn.js与vue的整合

一、前言: 由于flowable本身带的Moder风格实在与前端页面风格不一样,同时由于Modeler采用Angular.js写的,改造起来相对有一定的难度,所以打算换成bpmn.js当成流程设计器。 二、与vue的整合 1.安装以下包进开发环境 npm install --save bp...

2019-12-20 08:59:23

阅读数 1005

评论数 0

原创 flowable实战(十四):关于流程设计器:act_de_mode的表详解

flowable从6.4.1开始,act_de_model代替原来的act_re_model表,act_re_model将作废,大家要注意。 字段名 中文名 说明 id 主键id name 流程模型名称 model_key 流程模型key...

2019-12-16 22:06:19

阅读数 469

评论数 0

原创 flowable实战(十三):为了启动流程实例时给流程加一个标题

我们经常希望待办任务列表有一列是流程实例的名称,即标题,例如,我们希望流程的标题是:张三 2019-12-04 16:40:20 的请假申请,通常会采用一个命名规则:发起人+发起时间+流程模型名称把它作为流程的标题。这时候就希望启动流程实例时可以设置流程实例的名称,方法如下: 通过流程实例构造器来...

2019-12-04 22:45:21

阅读数 306

评论数 0

原创 easyExcel2.0.5后续新版本新用法研究(四)自定义表格的样式

package com.zjm.gwork.utils.myEasyExcel; import com.alibaba.excel.write.metadata.style.WriteCellStyle; import com.alibaba.excel.write.metadata.style...

2019-11-24 20:15:06

阅读数 751

评论数 0

原创 easyExcel2.0.5后续新版本新用法研究(一)与旧版本1.1.1对比

1. excel的 pojo 实体类取消了 继承BaseRowModel. 2.exce的pojo原来的format = "yyyy-MM-dd"不再支持,改为增加如下一个注解注入: /** * 借款到期 */ @DateTimeFormat("yyyy/M...

2019-11-24 17:44:48

阅读数 1487

评论数 0

原创 easyExcel2.0.5后续新版本新用法研究(三)如何把数据导出成一个excel文件

/** * @Description: 放款列表导出Excel * * * @Date: 2019/7/21 10:15 * @Param: * @Param: * @return: **/ @PostMapping("/exportCreditLoadListExcel...

2019-11-24 17:43:41

阅读数 572

评论数 0

原创 easyExcel2.0.5后续新版本新用法研究(二)POI HSSFColor 颜色索引对照表

POI HSSFColor 颜色索引对照表 . HSSFColor.GREY_80_PERCENT . HSSFColor.INDIGO . HSSFColor.PL...

2019-11-24 17:29:56

阅读数 254

评论数 0

转载 3个点让你彻底明白,为什么要使用MQ消息中间件?

3个点让你彻底明白,为什么要使用MQ消息中间件? Java架构师追风关注 0.8162019.09.25 15:27:00字数 4,710阅读 427 前言 一个用消息队列的人,不知道为啥用,有点尴尬。没有复习这点,很容易被问蒙,然后就开始胡扯了。 回答:这个问题,咱只答三个最主...

2019-11-22 08:21:12

阅读数 59

评论数 0

原创 vue 表单验证工作实线总结

前提条件:设置好表单及验证规则,以及各个formItem的属性,例如: 一、表单定义ref和rules: <Form ref="formValidate" :model="formValidate" :rules="ruleValidat...

2019-11-21 22:42:21

阅读数 35

评论数 0

转载 SpringBoot项目mysql配置文件密码加密(jasypt)

起因:因为我个人微博想要公开源码,但数据库配置文件会暴露在外面,又不想生产跟开发环境建来回切换,所以想到了加密数据库密码,于是问了群里的一个朋友小XX(原谅我不识字) 经过: 简单粗暴,直接上代码: 1.需要引入依赖 <!-- 数据库加密 --> ...

2019-11-08 01:51:36

阅读数 42

评论数 0

原创 彻底解决前后端程序时区差8小时问题

1.当用new date()或者TimeZone时有8小时的时差问题: 保证服务器时区为东八区时间即北京时间 服务启动的时候,将当前时区设置为GMT+8,代码如下: @SpringBootApplication public class Application { @PostCons...

2019-08-06 11:50:59

阅读数 491

评论数 0

原创 规范化编程:(一)代码为什么要分层,优秀程序员必须遵守的准则

一、后台程序为什么要分为控制层(action),业务逻辑层(service),数据访问(Dao): (1)无规范则不能成方圆,作为一个团队,必须采用一致的代码风格,别人才能维护你写的代码。 (2)为了代码的复用,service中方法可能被多个acton来调用。 (3)按...

2019-08-02 10:43:38

阅读数 175

评论数 0

转载 通用mapper如何处理多表条件查询通过list封装(强烈推荐)(一对一,一对多)

一、通用mapper本身的接口方法,只适用于单表处理,所以多表处理必须去定义xml和专用的pojo类以及mapper接品,强烈推荐采用这种方式,在xml中利用mybatis本身的一对一,一对多的设置技巧完成多表关联,这样省去专门为了视图视图去定义专用的pojo实体。 二、mybatis中如何定义...

2019-07-11 08:45:19

阅读数 2668

评论数 1

原创 通用mapper如何处理多表条件查询通过list封装(强烈不推荐)(一对一,一对多)

一、思路1:在service封装通过list的组合,强烈不建议,有性能问题,例如: @Autowired private StudentDao studentDao; @Autowired private Stu_labelDao stu_labelDao; @Autowired...

2019-07-11 08:18:47

阅读数 313

评论数 0

原创 swagger2:(二)swagger的描述注释配置详解

一、通过在控制器类上增加@Api注解,可以给控制器增加描述和标签信息。 清单 6. 给 Controller 添加描述信息 1 2 @Api(tags = "用户相关接口", description = "提供用户相关的 Re...

2019-07-07 14:19:07

阅读数 3062

评论数 0

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