spring boot + mybatis + hikaricp + swagger2 + jasypt
好久没写博客了记录下写过的东西,别到时候又忘了
文章前提:前面开发项目的时候数据池一直用的阿里的druid,这个数据池吧也不能说它不好,为什么现在想改成hikaricp数据池呢,完全是实用项目需要。druid问题:
问题一:druid的问题出在它功能太多了,项目进本开发完了,然后发现这些功能根本就没用到,比如它的数据池监控界面什么的,根本就没人用过尴尬,还有它监控了很多东西,导致它拦截了很多东西,日志什么的都要拦截,实际项目开发的时候用到了很多的技术,很多次都是druid报错,就是它的拦截配置拦截的太厉害了,跟有的技术还有一些冲突,也不是不能解决,改下druidconfig的事情,但是做多了就烦了,这是最要人命的。
问题二:druid本身跟spring boot是不兼容的,需要写一个config文件注入到spring boot的配置文件中,这么写就算能用,但是在application.yml还是会报黄色警告,对于代码有强迫症的人来说有点难受,不过这都是小问题
问题三:druid的性能没有hikaricp好,尤其是在处理大量数据的时候效果跟明显,这也是小问题
总的来说hikaricp的功能正好是我们需要的,不多不少,性能还好就选上它了
demo功能简介: 就是基本的spring boot技术面向业务,mybatis跟数据库打交道,hikaricp数据池,swagger2生成在线文档,jasypt加密明文密码
这里就不一一记录了,亲测可用

然后项目开发完了以后需要关闭swagger2在线文档怎么关闭呢
步骤一:屏蔽swagger配置文件上的注解,这样就没有json数据了



这样就只剩下UI了,都没有json数据了空的UI
步骤二:屏蔽swaggerUI的包,任何整个项目swagger2就完全不能用了,就跟没有使用过swagger2一样。

配置文件明文密码加密问题:
第一步,导入一个最新版本的包:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.16</version>
</dependency>
在主函数加入@EnableEncryptableProperties注解
第二步:生成加密密码
可以用jar命令生成,也可以用代码写

运行Test函数在控制台copy加密后的密码,然后加在配置文件里面
第三步,配置文件,foo那个是固定写法

jasypt的github地址:https://github.com/ulisesbocchio/jasypt-spring-boot
项目源码github地址:https://github.com/waterlufei/spring-boot,TestHirikacp项目
spring boot + mybatis + hikaricp + swagger2 + jasypt的更多相关文章
- spring boot+mybatis+swagger搭建
环境概述 使用的开发工具:idea 2018 3.4 环境:jdk1.8 数据库:MariaDB (10.2.21) 包管理:Maven 3.5 Web容器:Tomcat 8.0 开发机系统:Wind ...
- spring boot + mybatis + druid
因为在用到spring boot + mybatis的项目时候,经常发生访问接口卡,服务器项目用了几天就很卡的甚至不能访问的情况,而我们的项目和数据库都是好了,考虑到可能时数据库连接的问题,所以我打算 ...
- Spring boot Mybatis 整合(完整版)
个人开源项目 springboot+mybatis+thymeleaf+docker构建的个人站点开源项目(集成了个人主页.个人作品.个人博客) 朋友自制的springboot接口文档组件swagge ...
- Spring boot Mybatis 整合(注解版)
之前写过一篇关于springboot 与 mybatis整合的博文,使用了一段时间spring-data-jpa,发现那种方式真的是太爽了,mybatis的xml的映射配置总觉得有点麻烦.接口定义和映 ...
- Spring Boot中使用Swagger2构建强大的RESTful API文档
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...
- Spring Boot中使用Swagger2构建API文档
程序员都很希望别人能写技术文档,自己却很不愿意写文档.因为接口数量繁多,并且充满业务细节,写文档需要花大量的时间去处理格式排版,代码修改后还需要同步修改文档,经常因为项目时间紧等原因导致文档滞后于代码 ...
- Spring Boot入门教程2-1、使用Spring Boot+MyBatis访问数据库(CURD)注解版
一.前言 什么是MyBatis?MyBatis是目前Java平台最为流行的ORM框架https://baike.baidu.com/item/MyBatis/2824918 本篇开发环境1.操作系统: ...
- spring boot + mybatis + druid配置实践
最近开始搭建spring boot工程,将自身实践分享出来,本文将讲述spring boot + mybatis + druid的配置方案. pom.xml需要引入mybatis 启动依赖: < ...
- spring boot+mybatis+quartz项目的搭建完整版
1. 利用spring boot提供的工具(http://start.spring.io/)自动生成一个标准的spring boot项目架构 2. 因为这里我们是搭建spring boot+mybat ...
随机推荐
- 对es6中Promise和async的理解
Promise var promise = new Promise((resolve,reject)=>{ resolve(value); //reject(value) }); //promi ...
- 性能优化之-------少用iframe
1.DOM开销高 使用iframe的开销是很高的,在主页面中加载同等数量的div和iframe(标签内容都是空),iframe的耗时会比div的高1~2个数量级. 2.阻塞onload事件 在典型方 ...
- 浅析is和as两个关键词在类型转换时的使用
is检查对象是否兼容与指定类型,返回Boolean值true或者false,值得注意的是,在使用is进行类型转换的时候是永远不会抛出异常的,例如: object o=new Object(); Boo ...
- linux系统下解决getch()输入数值不回显示
在linux系统下开发C 程序却会遇到系统不支持conio.h头文件,无法使用getch()不回显函数.下面就演示如何构建函数实现数值输入不回显. #include <stdio.h> # ...
- JAVA的免费天气api接口调用示例
step1:选择本文所示例的接口"免费天气api" url:https://www.juhe.cn/docs/api/id/39/aid/87 step2:每个接口都需要传入一个参 ...
- C# Ioc容器Unity,简单实用
开头先吐槽一下博客园超级不好用,添加图片后就写不动字了,难道是bug 好进入正题,先来说下依赖注入,简单来说就是定义好接口,上层代码调用接口,具体实现通过配置文件方式去指定具体实现类. 首先我们需要通 ...
- javaWeb内置对象
jsp内置对象是web容器创建的一组对象. jsp内置对象的名称是jsp的保留字. jsp内置对象是可以直接在jsp页面使用的对象,无需使用new获取实例. jsp九大内置对象 1.request 2 ...
- Golang源码探索(三) GC的实现原理
Golang从1.5开始引入了三色GC, 经过多次改进, 当前的1.9版本的GC停顿时间已经可以做到极短. 停顿时间的减少意味着"最大响应时间"的缩短, 这也让go更适合编写网络服 ...
- 利用可变参数模拟Printf()函数实现一个my_print()函数和调用可变参数注意的陷阱!
可变参数函数的实现与函数调用的栈结构密切相关,正常情况下C的函数参数入栈规则为__stdcall, 它是从右到左的,即函数中的最右边的参数最先入栈. 例如,对于函数: void test(char a ...
- cocos2dx3.0导出自定义类到lua的方法详细步骤
我写了一个用3.0的工具导出类到lua,自动生成代码的方法. 以前要导出c++类到lua,就得手动维护pkg文件,那简直就是噩梦,3.0以后就会感觉生活很轻松了. 下面我就在说下具体做法.1.安装必要 ...