spring boot
xxc1605629895
这个作者很懒,什么都没留下…
展开
-
SpringBoot中MongoDB注解概念及使用
spring-data-mongodb主要有以下注解@Id主键,不可重复,自带索引,可以在定义的列名上标注,需要自己生成并维护不重复的约束。如果自己不设置@Id主键,mongo会自动生成一个唯一主键,并且插入时效率远高于自己设置主键。原因可参考上一篇mongo和mysql的性能对比。在实际业务中不建议自己设置主键,应交给mongo自己生成,自己可以设置一个业务id,如int型字段,用自己设置...转载 2020-04-06 19:16:44 · 1345 阅读 · 0 评论 -
Spring Boot 中使用 MongoDB 增删改查
本文快速入门,MongoDB 结合SpringBoot starter-data-mongodb 进行增删改查1、什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键...转载 2020-04-06 19:13:57 · 417 阅读 · 0 评论 -
springboot整合redis消息队列
前言消息队列作为一种常用的异步通信解决方案,而redis是一款高性能的nosql产品,今天就给大家介绍一下,如何使用redis实现消息队列,并整合到springboot。两个消息模型1. 队列模型队列模型如图所示,它具有以下几个特点,就像我们用微信和好友(群聊除外)聊天一样,微信就是这个队列,我们可以和很多个好友聊天,但是每条消息只能发给一个好友。只有一个消费者将获得消息生产者不需要...转载 2019-06-09 10:22:25 · 15485 阅读 · 3 评论 -
Spring Boot使用单元测试
转载自嘟嘟独立博客本文链接地址: Spring Boot干货系列:(十二)Spring Boot使用单元测试前言这次来介绍下Spring Boot中对单元测试的整合使用,本篇会通过以下4点来介绍,基本满足日常需求Service层单元测试Controller层单元测试新断言assertThat使用单元测试的回滚正文Spring Boot中引入单元测试很简单,依赖如下:<d...转载 2019-03-31 16:59:11 · 374 阅读 · 0 评论 -
SpringBoot - 多Profile使用与切换以及与 maven profile 结合使用
Profile是Spring对不同环境提供不同配置功能的支持,可以通过激活、指定参数等方式快速切换环境。多 profile 使用与切换【1】多Profile文件文件名格式:application-{profile}.properties默认使用application.properties配置文件。如下所示,分别创建application-dev.properties和applicat...转载 2019-04-21 09:17:49 · 2073 阅读 · 0 评论 -
SpringBoot 2.x 优雅解决分布式限流
某天A君突然发现自己的接口请求量突然涨到之前的10倍,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。如何应对这种情况呢?生活给了我们答案:比如老式电闸都安装了保险丝,一旦有人使用超大功率的设备,保险丝就会烧断以保护各个电器不被强电流给烧坏。同理我们的接口也需要安装上“保险丝”,以防止非预期的请求对系统压力过大而引起的系统瘫痪,当流量过大时,可以采取拒绝或者引流等机制。一、常用的限流算...转载 2019-05-03 21:43:29 · 16380 阅读 · 5 评论 -
SpringBoot整合Mybatis-Plus
依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache....原创 2019-05-19 21:01:12 · 191 阅读 · 0 评论 -
SpringBoot使用ApplicationEvent&Listener完成业务解耦
ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性。事件发布者并不需要考虑谁去监听,监听具体的实现内容是什么,发布者的工作只是为了发布事件而已。我们平时日常生活中也是经常会有这种情况存在,如:我们在平时拔河比赛中,裁判员给我们吹响了开始的信号,也就...转载 2019-05-30 23:26:26 · 1356 阅读 · 0 评论 -
Spring的@Scheduled任务调度
一. 定时任务实现方式1.1 定时任务实现方式Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少,这篇文章将不做详细介绍。使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂,有空...转载 2019-06-02 17:39:21 · 2135 阅读 · 0 评论 -
ShedLock日常使用
场景模拟定时器Scheduler在平时使用比较频繁,比如定时数据整理,定时向客户发送问候信息等…,定时任务的配置比较简单,比如在springboot中,配置好@Scheduled和@EnableScheduling之后,定时器就能正常执行,实现定时任务的功能。但是在这样的情况下:如果开发的服务需要水平部署实现负载均衡,那么定时任务就会同时在多个服务实例上运行,那么一方面,可能由于定时任务的逻辑...转载 2019-06-02 17:42:14 · 10077 阅读 · 0 评论 -
Spring Boot实战之Filter实现使用JWT进行接口认证
jwt(json web token)用户发送按照约定,向服务端发送 Header、Payload 和 Signature,并包含认证信息(密码),验证通过后服务端返回一个token,之后用户使用该token作为登录凭证,适合于移动端和apijwt使用流程代码实现1. 依赖<?xml version="1.0" encoding="UTF-8"?><project ...原创 2019-07-15 21:04:56 · 6217 阅读 · 0 评论 -
springboot 整合 shiro
Shiro不会去维护用户、维护权限;这些需要我们自己去设计/提供。1.准备权限相关数据库表主要涉及到七张表:用户表,角色表,权限表(菜单下的按钮,链接等的访问权限),菜单表(系统的功能),用户-角色表(用户和角色是多对多的),角色-权限表(角色和权限是多对多的),菜单权限表。表结构建立的sql语句如下:create table T_SYS_MENU( id VARCH...原创 2019-07-21 20:44:13 · 327 阅读 · 0 评论 -
Springboot 2.X中Spring-cache与redis整合
本文转自:Springboot 2.X中Spring-cache与redis整合Springboot中Spring-cache与redis整合。这也是一个不错的框架,与spring的事务使用类似,只要添加一些注解方法,就可以动态的去操作缓存了,减少代码的操作。如果这些注解不满足项目的需求,我们也可以参考spring-cache的实现思想,使用AOP代理+缓存操作来管理缓存的使用。在这个例子中我...转载 2019-02-17 12:57:07 · 2958 阅读 · 3 评论 -
共享Session-spring-session-data-redis
对于分布式的应用来说,用户的会话管理通常有Session Stick,Session复制,Session集中管理,基于Cookie管理四种方式。各自点评一下: Session Stick 需要某个用户的会话与某台服务器想绑定,有点耦合 Session复制 每台服务器都有全部的会话信息,会话同步需要时间,另外每台服务器都有全量数据也是个问题 ...转载 2018-07-03 20:43:28 · 2261 阅读 · 0 评论 -
springboot(二):web综合开发
上篇文章介绍了Spring boot初级教程:spring boot(一):入门篇,方便大家快速入门、了解实践Spring boot特性;本篇文章接着上篇内容继续为大家介绍spring boot的其它特性(有些未必是spring boot体系桟的功能,但是是spring特别推荐的一些开源技术本文也会介绍),对了这里只是一个大概的介绍,特别详细的使用我们会在其它的文章中来展开说明。web开发...转载 2018-06-04 12:28:39 · 204 阅读 · 0 评论 -
springboot(四):thymeleaf使用详解
在上篇文章springboot(二):web综合开发中简单介绍了一下thymeleaf,这篇文章将更加全面详细的介绍thymeleaf的使用。thymeleaf 是新一代的模板引擎,在spring4.0中推荐使用thymeleaf来做前端模版引擎。thymeleaf介绍简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎...转载 2018-06-04 21:50:10 · 366 阅读 · 0 评论 -
springboot(五):spring data jpa的使用
在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项使用spring data jpa 开发时,发现国内对spring boot jpa全面介绍的文章比较少案例也比较零碎,因此写文章总结一下。本人也正在翻译Spring Data J...转载 2018-06-04 22:36:15 · 416 阅读 · 0 评论 -
SpringBoot几种定时任务的实现方式
原文地址:SpringBoot几种定时任务的实现方式定时任务实现的几种方式: Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。 ScheduledExecutorService:也jdk自带的一个类...转载 2018-05-30 22:24:00 · 10152 阅读 · 0 评论 -
springboot(六):如何优雅的使用mybatis
这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。orm框架...转载 2018-06-21 16:12:12 · 195 阅读 · 0 评论 -
springboot(七):springboot+mybatis多数据源最简解决方案
说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务。我们项目是后者的模式,网上找了很多,大都是根据jpa来做多数据源解决方案,要不就是老的spring多数据源解决方案,还有的是利用aop动态切换,感觉有点小复杂,其实我只是想找一个简单的多数据支持而已,折腾了两个小时整理出来,供大家参考。 废话不多说直接上代码吧配置文...转载 2018-06-21 16:21:52 · 1090 阅读 · 2 评论 -
SpringBoot2.0 jpa多数据源配置
本文转自:SpringBoot2.0 jpa多数据源配置随着Springboot升级到2.0,原来1.5.x的Jpa多数据源配置不能用了。现在总结一下Springboot2.0的jpa多数据源配置连接池还是用druid,但是不能用druid的starter了,譬如在1.5.x时用的是<dependency> <groupId>com.alibaba</...转载 2018-06-23 20:36:15 · 2553 阅读 · 1 评论 -
springboot(十):邮件服务
springboot仍然在狂速发展,才五个多月没有关注,现在看官网已经到1.5.3.RELEASE版本了。准备慢慢在写写springboot相关的文章,本篇文章使用springboot最新版本1.5.3进行开发。发送邮件应该是网站的必备功能之一,什么注册验证,忘记密码或者是给用户发送营销信息。最早期的时候我们会使用JavaMail相关api来写发送邮件的相关代码,后...转载 2018-06-23 20:59:07 · 994 阅读 · 0 评论 -
Spring boot + quartz 实现动态管理任务
在实际项目应用中经常会用到定时任务,可以通过quartz和spring的简单配置即可完成,但如果要改变任务的执行时间、频率,废弃任务等就需要改变配置甚至代码需要重启服务器,这里介绍一下如何通过quartz与spring的组合实现动态的改变定时任务的状态的一个实现。配置文件相关jar包依赖配置这里使用的 gradle 进行依赖管理。包含了 jpa, quartz, thymeleaf...原创 2018-06-02 11:33:49 · 7014 阅读 · 3 评论 -
springboot(十二):springboot如何测试打包部署
有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发、调试、打包到最后的投产上线。开发阶段单元测试在开发阶段的时候最重要的是单元测试了,springboot对单元测试的支持已经很完善了。1、在pom包中添加spring-boot-starter-test...转载 2018-06-24 10:03:12 · 202 阅读 · 0 评论 -
springboot(十七):使用Spring Boot上传文件
上传文件是互联网中常常应用的场景之一,最典型的情况就是上传头像等,今天就带着带着大家做一个Spring Boot上传文件的小案例。1、pom包配置我们使用Spring Boot最新版本2.0.2、jdk使用1.8、tomcat8.5。&amp;lt;parent&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;转载 2018-06-24 10:44:25 · 1747 阅读 · 1 评论 -
springboot(十九):使用Spring Boot Actuator监控应用
本文转自: 纯洁的微笑-ityouknow 微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题?在这种框架下,微服务的监控显得尤为重要。本文主要结合...转载 2018-06-24 17:41:41 · 3687 阅读 · 0 评论 -
为什么说 Java 程序员到了必须掌握 Spring Boot 的时候?
本文转自:纯洁的微笑-ityouknow Spring Boot 诞生的背景是什么?Spring 企业又是基于什么样的考虑创建 Spring Boot? 传统企业使用 Spring Boot 会给我们带来什么样变革?Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,就单从我个人的博客的访问量大幅增加就可以感受到大家对学习 Spri...转载 2018-06-24 19:02:00 · 417 阅读 · 0 评论 -
Spring Boot 项目启动时初始化资源
本文转自:纯洁的微笑-ityouknow 在我们实际工作中,总会遇到这样需求,在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等。今天就给大家介绍一个 Spring Boot 神器,专门帮助大家解决项目启动初始化资源操作。这个神器就是 CommandLineRunner,CommandLineRunner 接口的 Component 会...转载 2018-06-24 19:03:41 · 3003 阅读 · 0 评论 -
SpringBoot整合Swagger2
本文转自:SpringBoot整合Swagger2相信各位在公司写API文档数量应该不少,当然如果你还处在自己一个人开发前后台的年代,当我没说,如今为了前后台更好的对接,还是为了以后交接方便,都有要求写API文档。手写Api文档的几个痛点:文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时。接口返回结果不明确不能直接在线测试接口,通常需要使用工具,比...转载 2018-06-24 19:27:32 · 338 阅读 · 0 评论 -
springboot(一):入门篇
什么是spring bootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring...转载 2018-06-04 08:51:54 · 184 阅读 · 0 评论