202011-03 IDEA SpringBoot 项目配置Swagger2的详细教程 原先前后端分离的api文档开启了前后端相互撕逼的对接之路api更新不及时导致对接失败,以及存在测试不够方便,而swagger则很好的解决了这个问题在项目中也经常用到swagger2,于是动手记录一下swagger2配置过程,希望能带来一点帮助。在SpringBoot项目当中使用Swagger主要分为以下几步:1、SpringBoot-web项目并添加pom.xml依赖2、编写HelloController,测试成功运行3、创建一个SwaggerConfig类,配置swagger-ui流程确实是很简单... 继续阅读 >
202011-03 springboot集成与使用Sentinel的方法 前言在上一篇中,我们初步了解了Sentinel的基本概念,以及其有关限流方面的基础理论,本篇将通过简单的与框架进行整合,看看Sentinel如何在实际项目中进行使用控制台安装与部署在实际的小微服务中,使用Sentinel做限流还有另一个强大的利器,就是其提供的dashboard,尽管我们可以通过编写Sentinel提供的一些API限流规则封装一些通用的方法,但是这对于很多初次接触Sentinel的同学来说,学习成本仍然不小,而提供的dashboard可以很... 继续阅读 >
202011-03 SpringBoot中引入MyBatisPlus的常规操作 一、前言近来参与一个电力大数据项目,开发小组决定在DAO层使用MyBatisPlus——国产、新颖、强大、轻量。 官方API地址:http://mp.baomidou.com/#/?id=%E7%AE%80%E4%BB%8B二、通用CRUD通过本项目(表少,数据量大,非常适合)发现MyBatisPlus在单表CRUD方面比原来的的MyBatis的有着绝对优势:VSPSMyBatisMyBatisPlus代码生成器数据库有些表的字段发... 继续阅读 >
202011-03 Springboot 整合shiro实现权限控制的方法 Author:jeffreyDate:2019-04-08一、开发环境:1、mysql-5.72、navicat(mysql客户端管理工具)3、idea2017.24、jdk85、tomcat8.56、springboot2.1.37、mybatis38、shiro1.49、maven3.3.9二、数据库设计[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CB46ByC1-1604249108144)(img/shiro01.png)]三、创建springboot项目 3.1添加组件添加web、lombok、thymeleaf、jdbc、mysql、mybatis等模块;3... 继续阅读 >
202010-30 SpringBoot如何通过webjars管理静态资源文件夹 WebMvcAutoConfiguration添加资源映射:publicvoidaddResourceHandlers(ResourceHandlerRegistryregistry){if(!this.resourceProperties.isAddMappings()){logger.debug("Defaultresourcehandlingdisabled");}else{DurationcachePeriod=this.resourceProperties.getCache().getPeriod();CacheControlcacheControl=this.resourceProperties.getCache().getCachecontrol().toH... 继续阅读 >
202010-30 Springboot主程序类注解配置过程图解 @SpringBootApplication点进这个注解看进去第一个注解@SpringBootConfiguration看,上面有Configuration注解@Configuration这是Spring的配置类注解,说明这个类一个配置类,里面都是配置文件进第二个注解@EnableAutoConfiguration,顾名思义,这是允许自动配置生效的注解,接下来进去看它。@EnableAutoConfiguration进去后也有两个注解:第一个AutoConfigurationPackage,进去看里面有这个注解,@Import({Registrar.class})@Im... 继续阅读 >
202010-30 Springboot 1.5.7整合Kafka-client代码示例 在一次项目中,因甲方需要使用kafka消息队列推送数据,所以需要接入kafka,并且kafka的版本是2.11。但是我们项目使用的是Springboot1.5.7的版本,对应的springboot.kafka.starter有冲突,所以就接入了kafka-client。Kafka是一个分布式消息引擎与流处理平台,经常用做企业的消息总线、实时数据管道,有的还把它当做存储系统来使用。早期Kafka的定位是一个高吞吐的分布式消息系统,目前则演变成了一个成熟的分布式消息引擎,以及... 继续阅读 >
202010-30 SpringBoot基于Sentinel在服务上实现接口限流 Sentinel是阿里巴巴开源的限流器熔断器,并且带有可视化操作界面。在日常开发中,限流功能时常被使用,用于对某些接口进行限流熔断,譬如限制单位时间内接口访问次数;或者按照某种规则进行限流,如限制ip的单位时间访问次数等。之前我们已经讲过接口限流的工具类ratelimter可以实现令牌桶的限流,很明显sentinel的功能更为全面和完善。来看一下sentinel的简介:https://github.com/spring-cloud-incubator/spring-cloud-alibaba/w... 继续阅读 >
202010-30 SpringBoot整合MongoDB的示例 本节使用SpringBoot2.1.9.RELEASE,示例源码在https://github.com/laolunsi/spring-boot-examples/tree/master/06-spring-boot-mongo-demoSpringBoot可以非常方便地引入和操作MongoDB。本节分两部分,记录个人学习SpringBoot使用MongoDB数据库的一些知识。第一部分是一个简单的springboot连接mongo的demo,测试查询功能。第二部分是基于mongo实现的增删改查数据示例。本节使用SpringBoot2.1.9.RELEASE一、Asimpledemo首先来演... 继续阅读 >
202010-30 SpringBoot+Mybatis+Vue 实现商品模块的crud操作 准备工作第一步创建新module,名字为10-springboot-goods-vue.第二步添加maven依赖并进行初步配置(拷贝即可)第三步拷贝pojo,dao,service包中的所有接口和类.第四步拷贝静态资源到static目录(例如vue.js,axios.min.js)商品查询设计及实现创建GoodsController并定义相关方法,代码如下:packagecom.cy.pj.goods.controller;importcom.cy.pj.goods.pojo.Goods;importcom.cy.pj.goods.service.GoodsService;importjava.util.List;... 继续阅读 >
202010-30 SpringBoot整合Redis的示例 redis是最常用的缓存数据库,常用于存储用户登录token、临时数据、定时相关数据等。redis是单线程的,所以redis的操作是原子性的,这样可以保证不会出现并发问题。redis基于内存,速度非常快,据测试,redis读的速度是110000次/s,写的速度是81000次/s本节介绍SpringBoot引入redis,以及使用RedisTemplate来操作redis数据。采用SpringBoot2.1.9.RELEASE,对应示例代码在:https://github.com/laolunsi/spring-boot-examples/tree/m... 继续阅读 >
202010-30 关于SpringBoot 打包成的可执行jar不能被其他项目依赖的问题 SpringBoot项目打包成的jar,被其他项目依赖之后,总是报找不到类的错误?大伙有这样的疑问,就是因为还没搞清楚可执行jar和普通jar到底有什么区别?一、Springboot项目的默认插件配置SpringBoot中默认打包成的jar叫做可执行jar,这种jar不同于普通的jar,普通的jar不可以通过java-jarxxx.jar命令执行,普通的jar主要是被其他应用依赖,SpringBoot打成的jar可以执行,但是不可以被其他的应用所依赖... 继续阅读 >
202010-30 SpringBoot配置MongoDB多数据源的方法步骤 1、项目构建添加pom文件<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>2、在application.properties中添加配置##startmongodbforbasic#----------------------------------------------basic.spring.data.mongodb.host=localhostbasic.spring.data.mongodb.port=27016basic.spring.data.mongodb.username=auto_computebasic.spring.... 继续阅读 >
202010-30 浅谈一个基础的SpringBoot项目该包含哪些 前言 建立一个全新的项目,或者把旧的庞大的项目,进行拆分成多个项目。在建立新的项目中,经常需要做一些重复的工作,比如说拷贝一下常用的工具类,通用代码等等。所以就可以做一个基础的项目方便使用,在经历新项目的时候,直接在基础项目上进行简单配置就可以开发业务代码了。基础项目该包含哪些东西。Swagger在线接口文档。CodeGenerator代码生成器。统一返回。通用的分页对象。常用工具类。全局异... 继续阅读 >
202010-28 SpringBoot实现上传文件到AWS S3的代码 简单记录一下在Springboot中上传文件到AWSS3存储服务的代码。在application.xml中添加aws相关配置:custom: aws: access-key:CHOBITACCESSKEY secret-key:CHOBIT/THISIS006SECRET007Key/dotORG bucket:zhyea endpoint:www.zhyea.com:80新建一个AwsS3Componment类来执行上传文件操作:@ComponentpublicclassAwsS... 继续阅读 >
202010-28 SpringBoot读写xml上传到AWS存储服务S3的示例 最近的工作涉及到了生成xml文件并上传到AWS存储服务S3这样的处理。期间遇到了两个问题,简单记录下:springboot读取xml模板异常将生成的xml上传到S3的问题springboot的版本是0,读写xml文件使用的是Dom4J,版本是1。逐个说明下遇到的这几个问题。1.springboot读取xml模板异常现阶段是将xml模板文件存储在springboot项目的resource目录下的。具体路径为template/xxx.xml最初是通过类加载器获取文件路径后再尝试读取模板文件的... 继续阅读 >