202106-13 SpringBoot中swagger的使用 接口文档对前后端开发人员非常重要,swagger是基于openapi规范构建开源工具,swagger组件有swaggereditor基于浏览器编辑器,swaggerui可视化ui展示描述文件,swaggerinspector和ui组件很像,可以返回更多信息,会保存请求实际参数,springfox是可以根据代码生成接口文档,所以描述文件是根据项目来变化的,不用手动更新,springboot导入spring-fox依赖就是导入了wagger,在启动类上添加@EnableSwagger2注解,添加这... 继续阅读 >
202106-13 使用springboot暴露oracle数据接口的问题 新建一个SpringInitializr项目2.把pom.xml文件中的oracle依赖换成自己的oracle版本依赖:原来的:现在的:<dependency><groupId>com.oracle</groupId><artifactId>ojdbc6</artifactId><version>11.2.0.1.0</version></dependency>3.编辑application.ymlspring:datasource:driver-class-name:oracle.jdbc.driver.OracleDriverurl:jdbc:oracle:thin:@192.168.21.200:1521... 继续阅读 >
202106-13 详解SpringBoot+Mybatis实现动态数据源切换 业务背景电商订单项目分正向和逆向两个部分:其中正向数据库记录了订单的基本信息,包括订单基本信息、订单商品信息、优惠卷信息、发票信息、账期信息、结算信息、订单备注信息、收货人信息等;逆向数据库主要包含了商品的退货信息和维修信息。数据量超过500万行就要考虑分库分表和读写分离,那么我们在正向操作和逆向操作的时候,就需要动态的切换到相应的数据库,进行相关的操作。解决思路现在项目的结构设计基本上是基于MVC的,... 继续阅读 >
202106-12 Spring Boot Admin的使用详解(Actuator监控接口) 第一部分SpringBootAdmin简介 SpringBootAdmin用来管理和监控SpringBoot应用程序。应用程序向我们的SpringBootAdminClient注册(通过HTTP)或使用SpringCloud®(例如Eureka,Consul)发现。UI是SpringBootActuator端点上的Vue.js应用程序。SpringBootAdmin是一个管理和监控SpringBoot应用程序的开源软件。每个应用都认为是一个客户端,通过HTTP或者使用Eureka注册到adminserver中进行展示... 继续阅读 >
202106-12 SpringBoot mybatis 实现多级树形菜单的示例代码 一、前言iview-admin中提供了v-org-tree这么一个vue组件可以实现树形菜单,下面小编来提供一下在element-ui中的使用教程(项目见:https://github.com/lison16/v-org-tree)小编集成了el-dropdown下拉菜单(鼠标左击显示菜单),和右击自定义菜单,两种方式,效果图如下:二、使用教程(1)安装依赖npminstallclipboardnpminstallv-click-outside-xnpminstallv-org-tree(2)引入组件在main.js文件中引入importTreeTable... 继续阅读 >
202106-11 SpringBoot通过源码探究静态资源的映射规则实现 我们开发一个SpringBoot项目,肯定要导入许多的静态资源,比如css,js等文件如果我们是一个web应用,我们的main下会有一个webapp,我们以前都是将所有的页面导在这里面的,对吧!但是我们现在的pom呢,打包方式是为jar的方式,那么这种方式SpringBoot能不能来给我们写页面呢?当然是可以的,但是SpringBoot对于静态资源放置的位置,是有规定的!1、静态资源映射规则1.1、第一种映射规则SpringBoot中,SpringMVC的web配置都在WebM... 继续阅读 >
202106-07 SpringBoot整合EasyExcel实现文件导入导出 准备工作注意:点击查看官网Demo1.引入pom依赖<!--easyExcel--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId></dependency>2.实现功能结合Vue前端,实现浏览器页面直接导出日志文件实现文件的导入Excel文件下载3.日志实体类实体类里有自定义转换器:用于Java类型数据和Excel类型数据的转换,非常使用。结合注解,可以非常方便的... 继续阅读 >
202106-07 SpringBoot整合MongoDB实现文件上传下载删除 本文主要内容MongoDB基础操作命令示例练习MongoDB居于GridFSTemplate的文件上传、下载、删除等操作(工作重点使用)1.基础命令创建的数据库名称:horse,创建的集合名称:blog#创建数据库usehorse#删除当前数据库[horse]db.dropDatebase()#查看所有数据库showdbs#设置用户的角色和权限db.createUser({user:"horse",pwd:"mongo123",roles:[{role:"readWrite",db:"horse"}]})#创建指定名称的集合db.createColle... 继续阅读 >
202106-07 SpringBoot+SpringSecurity实现基于真实数据的授权认证 (一)概述SpringSecurity是一个功能强大且高度可定制的身份验证和访问控制框架,SpringSecurity主要做两个事情,认证、授权。我之前写过一篇关于SpringSecurity的博客,但是当时只是介绍了基于mock数据的案例,本期就来介绍一下基于真实数据的认证授权实现。(二)前期项目搭建为了更好的展示SpringSecurity,我们先搭建一个简单的web项目出来。引入thymeleaf依赖<dependency><groupId>org.springframework.boot</groupId>... 继续阅读 >
202106-05 SpringBoot整合Tomcat连接池的使用 连接池大小及性能选项maxActive:最主要参数,配置连接池同时能维持的最大连接数,如果客户端理论上需要100个连接,则这个值设为100。maxIdle:如果客户端一段时间内不需要使用连接,如果一直把所有连接池中的所有连接都维持在活动状态是很浪费资源的,maxIdle这个选项告诉tomcat,如果客户端没有需求,那么最多维持maxIdle个空闲连接。minIdle:和maxIdle类似,maxIdle告诉tomcat最多维持多少个空闲连接,minIdle告诉... 继续阅读 >
202106-05 SpringBoot内置tomcat启动原理详解 前言不得不说SpringBoot的开发者是在为大众程序猿谋福利,把大家都惯成了懒汉,xml不配置了,连tomcat也懒的配置了,典型的一键启动系统,那么tomcat在springboot是怎么启动的呢?内置tomcat开发阶段对我们来说使用内置的tomcat是非常够用了,当然也可以使用jetty。<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.1.6.RELEASE</version></dependen... 继续阅读 >
202106-05 Springboot Redis设置key前缀的方法步骤 properties中配置#redisredis.masterClusterNodes=10.40.57.197:7000;10.40.57.198:7002;10.40.57.199:7004redis.slaveClusterNodes=10.40.57.197:7001;10.40.57.198:7003;10.40.57.199:7005redis.maxTotal=50redis.maxIdle=10redis.minIdle=1redis.maxWaitMillis=1000redis.testOnBorrow=trueredis.testOnReturn=trueredis.timeout=10000redis.lockExpireSeconds=5redis.soTimeout=1000redis.maxAttempts=3redis.password=123456r... 继续阅读 >
202106-05 详解SpringBoot2.0的@Cacheable(Redis)缓存失效时间解决方案 问题 @Cacheable注解不支持配置过期时间,所有需要通过配置CacheManneg来配置默认的过期时间和针对每个类或者是方法进行缓存失效时间配置。解决 可以采用如下的配置信息来解决的设置失效时间问题配置信息@BeanpublicCacheManagercacheManager(RedisConnectionFactoryredisConnectionFactory){returnnewRedisCacheManager(RedisCacheWriter.nonLockingRedisCacheWriter(redisConn... 继续阅读 >
202106-05 SpringBoot中webSocket实现即时聊天 即时聊天这个使用了websocket,在springboot下使用很简单。前端是小程序,这个就比较坑,小程序即时聊天上线需要域名并且使用wss协议,就是ws+ssl更加安全。但是要上线这还不够,你必须为企业主体开发者。个人开发者即时聊天属于社交、不在服务类目内,审核会不通过!!!功能:我们的小程序是个二手交易小程序,即时聊天对于一个后台服务器只是单核2g的来说有点抗不住。所以在双方都在线的时候没有存储聊天消息,只是在单方不在... 继续阅读 >
202106-05 SpringBoot+SpringCache实现两级缓存(Redis+Caffeine) 1.缓存、两级缓存1.1内容说明Springcache:主要包含springcache定义的接口方法说明和注解中的属性说明springboot+springcache:rediscache实现中的缺陷caffeine简介springboot+springcache实现两级缓存使用缓存时的流程图1.2SpingCachespringcache是spring-context包中提供的基于注解方式使用的缓存组件,定义了一些标准接口,通过实现这些接口,就可以通过在方法上增加注解来实现缓存。这样就能够避免缓存代码与业务处... 继续阅读 >
202106-05 SpringBoot+SpringSession+Redis实现session共享及唯一登录示例 最近在学习springboot,session这个点一直困扰了我好久,今天把这些天踩的坑分享出来吧,希望能帮助更多的人。一、pom.xml配置 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId></dependency>二、application... 继续阅读 >