好久没写博客了记录下写过的东西,别到时候又忘了

文章前提:前面开发项目的时候数据池一直用的阿里的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的更多相关文章

  1. spring boot+mybatis+swagger搭建

    环境概述 使用的开发工具:idea 2018 3.4 环境:jdk1.8 数据库:MariaDB (10.2.21) 包管理:Maven 3.5 Web容器:Tomcat 8.0 开发机系统:Wind ...

  2. spring boot + mybatis + druid

    因为在用到spring boot + mybatis的项目时候,经常发生访问接口卡,服务器项目用了几天就很卡的甚至不能访问的情况,而我们的项目和数据库都是好了,考虑到可能时数据库连接的问题,所以我打算 ...

  3. Spring boot Mybatis 整合(完整版)

    个人开源项目 springboot+mybatis+thymeleaf+docker构建的个人站点开源项目(集成了个人主页.个人作品.个人博客) 朋友自制的springboot接口文档组件swagge ...

  4. Spring boot Mybatis 整合(注解版)

    之前写过一篇关于springboot 与 mybatis整合的博文,使用了一段时间spring-data-jpa,发现那种方式真的是太爽了,mybatis的xml的映射配置总觉得有点麻烦.接口定义和映 ...

  5. Spring Boot中使用Swagger2构建强大的RESTful API文档

    由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...

  6. Spring Boot中使用Swagger2构建API文档

    程序员都很希望别人能写技术文档,自己却很不愿意写文档.因为接口数量繁多,并且充满业务细节,写文档需要花大量的时间去处理格式排版,代码修改后还需要同步修改文档,经常因为项目时间紧等原因导致文档滞后于代码 ...

  7. Spring Boot入门教程2-1、使用Spring Boot+MyBatis访问数据库(CURD)注解版

    一.前言 什么是MyBatis?MyBatis是目前Java平台最为流行的ORM框架https://baike.baidu.com/item/MyBatis/2824918 本篇开发环境1.操作系统: ...

  8. spring boot + mybatis + druid配置实践

    最近开始搭建spring boot工程,将自身实践分享出来,本文将讲述spring boot + mybatis + druid的配置方案. pom.xml需要引入mybatis 启动依赖: < ...

  9. spring boot+mybatis+quartz项目的搭建完整版

    1. 利用spring boot提供的工具(http://start.spring.io/)自动生成一个标准的spring boot项目架构 2. 因为这里我们是搭建spring boot+mybat ...

随机推荐

  1. ES6模块之export和import详解

    ES6中的模块即使一个包含JS代码的文件,在这个模块中所有的变量都是对其他模块不可见的,除非我们导出它.ES6的模块系统大致分为导出(export)和导入(import)两个模块. 1.模块导出(ex ...

  2. YYHS-分数(二分+容斥)

    题目描述 KJDH是个十分善于探索的孩子,有一天他把分子分母小于等于n的最简分数列在了纸上,他想找到这些分数里第k小的数,这对于KJDH来说当然是非常轻易,但是KJDH最近多了很多妹子,他还要去找妹子 ...

  3. stl中auto_ptr,unique_ptr,shared_ptr,weak_ptr四种智能指针使用总结

    stl中auto_ptr,unique_ptr,shared_ptr,weak_ptr四种智能指针使用总结 1. auto_ptrauto_ptr主要是用来解决资源自动释放的问题,比如如下代码:voi ...

  4. Winsock网络编程笔记(1)----入门

    今天第一次接触winsock网络编程,看的资料是Windows网络编程第二版.通过博客记住自己的看书笔记.. 在这里贴出第一个程序,虽然程序什么都没做,但以此作为入门,熟悉其网络编程风格.. #inc ...

  5. 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest J. Bottles

    J. Bottles time limit per test 2 seconds memory limit per test 512 megabytes input standard input ou ...

  6. 模拟制作网易云音乐(AudioContext)

    记得好早前在慕课网上看到一款可视化音乐播放器,当前是觉得很是神奇,还能这么玩.由于当时刚刚转行不久,好多东西看得稀里糊涂不明白,于是趁着现在有时间又重新梳理了一遍,然后参照官网的API模拟做了一款网易 ...

  7. tamper-proof 对象 nonextensible对象 sealed对象 frozen对象

    tamper-proof 对象JavaScript的缺点之一就是每个对象都可以被相同执行上下文的代码修改,很容易导致意外覆盖,或则一不小心把native 对象覆盖.Ecmascript  5提供了 t ...

  8. wordpress搬家到 linode 步骤简析

    1. 购买并安装系统 购买就不说了哈,英文不好的自己搜教程. 然后是安装系统 linode 系统安装: 购买完成后登录,进入找到购买的vps ,点击 Dashboard (控制面板) 进入后点击 面板 ...

  9. netty常用使用方式

    最近在重新看netty,在这里总结一些netty的一些常用的使用方式,类似于模板,方便速查. 以netty 4.1.x的API作记录,不同版本可能API有略微差异,需要注意netty5被废弃掉了(辨别 ...

  10. HTTPCLIENT 模拟登陆

    第一步构建忽略https验证的httpclient public static CloseableHttpClient getHttpClient() throws Exception { SSLCo ...