![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring boot
文章平均质量分 77
Kevin_cai09
无情的bug maker
展开
-
rabbitmq常见问题
常见问题1.消息如何保证100%投递成功?什么是生产端的可靠投递?保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点的正确应答完善的消息补偿机制1.消息落库,对消息状态进行打标step1:消息生成后持久化到数据库,msgStatus = ‘sending’step2:生产者发送消息step3:MQ节点收到消息后发送应答step4:生产者接收到消息应答后,更新消...原创 2020-01-29 15:36:40 · 757 阅读 · 0 评论 -
基于spring aop和MongoDB的日志储存管理
3.基于spring aop和MongoDB的日志储存管理封装的日志实体:@Datapublic class LogInfo { private String requestMethod; private String requestIp; private String requestUrl; private Map<String,String[]&g...原创 2019-10-12 14:16:26 · 326 阅读 · 0 评论 -
springboot专题复习spring data MongoDB
文章目录springboot专题复习spring data MongoDB一,MongoDB复习1.MongoDB概述2.集合操作3.文档操作二,springboot2.x整合MongoDB1.引入依赖2.CRUD3.基于spring aop和MongoDB的日志储存管理springboot专题复习spring data MongoDB一,MongoDB复习1.MongoDB概述Mongo...原创 2019-10-12 14:14:46 · 190 阅读 · 0 评论 -
springboot整合quartz实现动态任务管理
一,springboot整合quartz实现动态任务管理近期在学习quartz,自己也动手用springboot和mybatis整合了quartz,实现对任务的动态开启和暂停,恢复和终止。自己手动封装了一个相当于工具类的方法吧,通过传入任务名,任务组,还有相关job和cron表达式就可动态获取任务调度器//StdSchedulerFactory工厂 private static St...原创 2019-05-13 02:13:28 · 2621 阅读 · 1 评论 -
springboot集成quartz(一)基础概念
springboot集成quartz一,quartz基本概念1.JobJob,JobDetail,JobBuilder,JobExecutionContextJob?job英文单词的意思就是工作,意味着你需要调度器具体要做的事情,job是一个工作任务调度的接口,具体要被调度的任务要实现该接口,重写该接口定义的execute方法(具体任务)编写任务的业务逻辑。job实例在Quartz...原创 2019-05-08 02:47:29 · 917 阅读 · 0 评论 -
springboot集成quartz(二)基本使用
前文我们已经基本了解了Quartz中的一些基础概念Quartz基础现在我们来看看如何在springboot使用quartz引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-...原创 2019-05-09 01:41:21 · 633 阅读 · 0 评论 -
springboot定时任务
springboot定时任务1.Timer和Quartz的缺陷jdk自带的Timer定时器,虽然简单轻量容易使用,但是Timer是单线程的,无法管理多线程环境下的定时任务调度,同时一时间只能有一个任务在执行Quatz:Quartz的使用相当广泛,它是一个功能强大的调度器,但是配置复杂2.spring自带的定时器Spring自带的定时任务Schedule,其实可以把它看作是一个...原创 2019-05-06 15:16:57 · 511 阅读 · 1 评论 -
springboot整合RabbitMQ总结
springboot整合RabbitMQ总结1.RabbitMQ基础2.springboot整合RabbitMQ基础使用3.springboot整合RabbitMQ生产者消息确认4.springboot整合RabbitMQ消费者消息确认5.springboot整合RabbitMQ延迟消费...原创 2019-04-20 13:30:39 · 260 阅读 · 0 评论 -
springboot整合rabbitMQ实现消息延迟消费
一,延迟队列应用场景延迟消费:比如: 用户生成订单之后,需要过一段时间校验订单的支付状态,如果订单仍未支付则需要及时地关闭订单。用户注册成功之后,需要过一段时间比如一周后校验用户的使用情况,如果发现用户活跃度较低,则发送邮件或者短信来提醒用户使用。延迟重试:比如消费者从队列里消费消息时失败了,但是想要延迟一段时间后自动重试。如果不使用延迟队列,那么我们只能通过一个轮询扫描程序...原创 2019-04-20 02:04:57 · 2018 阅读 · 0 评论 -
quartz中misfirm处理机制
quartz中misfirm处理机制一,为什么需要misfirm处理机制?在利用quartz做任务调度时,当在多任务的情况下,我们有时候很难保证每一个任务都能在准确时间准确的执行比如:线程池中线程数量不足导致某些任务没有可用线程执行从而错过执行时间,导致任务激活失败(misfirm)又或者任务暂停后重新恢复执行,从暂停到恢复执行这一段时间错过的任务,该如何处理,这也是misfir...原创 2019-05-13 15:22:43 · 277 阅读 · 0 评论 -
springboot整合七牛云实现图片上传
之前有在springboot上用过七牛云实现图片上传,今天因为某些原因又重新使用了下七牛云因此想总结下七牛云详细步骤1.申请七牛云账号并实名认证2.申请存储空间完善存储空间名并选择地区3.springboot整合七牛云实现图片上传1.导入maven依赖 <!-- 七牛云 --> <dependency> ...原创 2019-05-18 15:30:01 · 8097 阅读 · 4 评论 -
Redis总结 -- springboot2.0整合redis
文章目录一,redisTemplate二,springboot2.0整合redis1. springboot1.x和2.x在整合redis上的区别jedis和lettuce的区别基于jedis的springboot2.x整合redis二,redis配置类编写1.jedis连接池配置2.连接工厂配置3.redisTempalte配置三,redisTeplate工具类一,redisTemplate...原创 2019-06-11 02:56:01 · 835 阅读 · 0 评论 -
Redi总结 -- springboot中redisTemplate源码分析
文章目录一,RedisOperations二,RedisAccessor三,RedisTemplate1.序列化配置2.连接获取和关闭在上文中我们知道了redisTemplate是springboot中操作redis的核心,今天来进一步了解了解其内部实现继承关系public class RedisTemplate<K, V> extends RedisAccessor im...原创 2019-06-11 15:34:30 · 1896 阅读 · 0 评论 -
Redis总结 -- springboot2.0整合spring cache + redis
文章目录一,spring cache简介二,springboot2.0整合spring cache + redis手动配置1.新建redis配置类RedisConfig继承 CachingConfigurerSupport类完成对redis的基本配置CacheErrorHandlerKeyGeneratorcacheManager2.使用基于注解的缓存3.注意问题@Cacheable注解不生效问题...原创 2019-06-11 23:08:36 · 2071 阅读 · 4 评论 -
springboot2.x集成easyPoi实现excel数据导入到数据库
文章目录一,easyPoi二,springboot2.x集成easyPoi实现excel数据导入到数据库1. 注解导入2. 引入依赖3. 注解实体类4. excel导入导出工具类5. 导入excel到数据库6. 测试一,easyPoi关于easyPoi的介绍,可以查看其官方文档easyPoi二,springboot2.x集成easyPoi实现excel数据导入到数据库1. 注解导入相关注...原创 2019-09-02 08:45:05 · 2464 阅读 · 7 评论 -
java基于redis有序集合实现排行榜
前言排行榜作为互联网应用中几乎必不可少的一个元素,能勾起人类自身对比的欲望,某宝中的商品销量排行,店铺信誉排行等,实现排行榜的方式也有很多种,可以使用快速排序算法 + 实现Comparator接口实现按某项权重排序,现在很多公司都在使用redis这个nosql数据库实现排行榜的功能基于redis实现排行榜现在要做的是对公司进行排行,排行的标准是用户对公司的搜索次数,做一个前十公司的排行榜1...原创 2019-09-12 14:22:05 · 4987 阅读 · 1 评论 -
redis + jwt实现token认证
文章目录业务场景拦截器1.登录授权获取token2.登出使token失效3.续期token4.获取新的token业务场景在前后端分离的场景下,越来越多的项目使用token作为接口的安全机制,APP或者web端使用token与后端接口交互,以达到安全的目的拦截器拦截器获取前端请求的token判断token是否为空token不为空,则查询redis缓存是否有相关token有相关t...原创 2019-09-16 22:13:22 · 8268 阅读 · 3 评论 -
springboot专题复习 spring data jpa复习
spring data jpa复习文章目录spring data jpa复习一,spring data jpa是什么?1.什么是jpa?2.jpa规范3.何为spring data jpa?二,spring data jpa使用1.建立实体和表,实体属性和表字段的映射关系2.CRUD操作1.查询基于内部api的查询复杂查询基于jpql的查询基于方法名称规则查询2.更新(增删改)本人最近一直在...原创 2019-10-10 20:25:53 · 325 阅读 · 2 评论 -
rabbitmq相关问题总结
一,rabbitMQ消息持久化机制为了保证消息的可靠性,需要对消息进行持久化。为了保证RabbitMQ在重启、奔溃等异常情况下数据没有丢失,除了对消息本身持久化为,还需要将消息传输经过的队列(queue),交互机进行持久化(exchange),持久化以上元素后,消息才算真正RabbitMQ重启不会丢失。详细参数:durable :是否持久化,如果true,则此种队列叫持久化队列(Du...原创 2019-05-04 00:44:30 · 350 阅读 · 0 评论 -
springboot整合RabbitMQ 消费者消息接收确认
一,消息接收确认1.ACK机制:消息确认机制1.作用:确认消息是否被消费者消费,消息通过ACK机制确认是否被正确接收,每个消息都要被确认。默认情况下,一个消息被消费者正确消费就会从队列中移除2.ACK确认模式AcknowledgeMode.NONE :不确认1. 默认所有消息消费成功,会不断的向消费者推送消息2. 因为rabbitMq认为所有消息都被消费成功,所以队列中不在存...原创 2019-04-18 02:00:48 · 18531 阅读 · 5 评论 -
springboot整合rabbitMQ---生产者消息确认机制
rabbitMQ消息确认机制当我们程序向rabbitMQ中间件发送消息时,如果程序没什么异常的话,一般都会成功发送消息但是,我们并不知道,消息是否成功发送到相应交换机的相应队列中,此时,我们需要用到消息确认机制,这也是rabbitMQ的一个功能点1.消息发送确认 与 消息接收确认(ACK)消息发送确认:当消息可能因为路由键不匹配或者发送不到指定交换机而导致无法发送到相应队列时确认...原创 2019-04-14 15:57:34 · 4419 阅读 · 0 评论 -
spring-Boot学习笔记(一)
1.spring-Boot简介原创 2018-12-22 13:51:51 · 349 阅读 · 0 评论 -
Spring Boot学习笔记(二)
1.Spring Boot配置文件原创 2018-12-23 01:28:21 · 675 阅读 · 0 评论 -
spring boot学习笔记(四)
一,spring开启自动热部署在实际开发中,我们修改某些代码逻辑功能或页面都需要重启应用,这无形中降低了开发效率;热部署是指当我们修改代码后,服务能自动重启加载新修改的内容,这样大大提高了我们开发的效率;spring boot 开启自动热部署需要添加一个插件实现,在maven下添加以下依赖 &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.s...原创 2018-12-24 20:16:30 · 145 阅读 · 0 评论 -
spring boot学习笔记(三)
spring boot集成mybatis以及配置事务一,spring boot集成mybatis之前我们是使用idea spring项目来创建spring boot项目,今天我们用第二种方式来创建下spring boot项目,我们首先创建一个maven项目,然后慢慢一步一步将他改造成一个spring boot项目第一步,先将集成mybatis的一些依赖加进去&amp;lt;dependencies...原创 2018-12-23 22:24:59 · 159 阅读 · 0 评论 -
spring boot学习笔记(七)
今日内容认识ThymeleafSpring boot 集成 ThymeleafThymeleaf 的标准表达式Thymeleaf 的常见属性Thymeleaf 字面量和字符串拼接Thymeleaf 三元运算判断和关系判断Thymaleaf 表达式基本对象Thymaleaf 表达式功能对象1.认识ThymeleafThymeleaf是一个流行的模板引擎,该模板引擎采用Jav...原创 2018-12-30 21:56:56 · 917 阅读 · 0 评论 -
Spring Boot学习笔记(五)
今天主要内容:spring boot下使用拦截器spring boot下使用过滤器spring boot下使用servlet一,spring boot 下使用拦截器1、按照Spring mvc的方式编写一个拦截器类/** *自定义拦截器: 1.实现HandlerInterceptor接口 * 2.继承HandlerInterceptorAdapter抽...原创 2018-12-26 01:25:30 · 262 阅读 · 0 评论 -
Spring Boot学习笔记(八)
Spring Boot高级技术------缓存缓存简单介绍,应用缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。主要作为中间件被应用。缓存媒介:常用中间件:Varnish,Ngnix,Squid,Memcache,Redis,Ehcache等;缓存的内容:文件,数据,对象;缓存的介质:CPU,内存(本地,分布式),磁盘(本...原创 2019-01-21 01:43:49 · 164 阅读 · 0 评论 -
spring boot整合pageHelper分页插件
pageHelper是一个很好的分页插件,可以帮助我们方便快捷的完成数据分页操作,减轻工作量,而且简单易用。1.导入依赖&lt;!-- 分页插件 --&gt; &lt;dependency&gt; &lt;groupId&gt;com.github.pagehelper&lt;/groupId&gt; &a原创 2019-01-21 15:32:55 · 392 阅读 · 0 评论 -
spring boot日志记录
springboot日志Spring Boot 使用 Commons Logging 记录所有内部日志,但开放日志的底层实现。其为 Java Util Logging 、Log4J2 和 Logback 提供了默认配置。在每种情况下,日志记录器都预先配置为使用控制台输出,并且还提供可选的文件输出Spring Boot 默认日志输出类似于以下示例:2014-03-05 10:57:51.112...原创 2019-02-23 19:54:21 · 145 阅读 · 0 评论 -
springboot(配置)@ConfigurationProperties和@Value
springboot在获取配置文件内容上有两个重要的注解@ConfigurationProperties@Value一,@ConfigurationProperties源码 //方法和类级别上的注解 @Target({ElementType.TYPE, ElementType.METHOD}) //运行级别保留,编译后的class文件中存在,在jvm运行时保留,可以被...原创 2019-02-24 00:09:30 · 1504 阅读 · 0 评论 -
利用spring AOP 实现 sql注入检测
利用spring的aop做了一个简单的检测sql注入的例子@Aspect@Componentpublic class LogAspect { /** * 切面类 */ private Logger logger = LoggerFactory.getLogger(getClass()); // 存在SQL注入风险 private stat...原创 2019-03-07 01:04:46 · 1919 阅读 · 4 评论 -
spring boot解决跨域问题
关于什么是跨域,在我的这一篇博客中就做了简单的解释跨域请求在前后分离的架构下,跨域问题难免会遇见比如,站点 http://domain-a.com 的某 HTML 页面通过 的 src 请求 http://domain-b.com/image.jpg。网络上的许多页面都会加载来自不同域的CSS样式表,图像和脚本等资源。那么spring boot是如何解决跨域请求这个问题的呢其中一个关键就...原创 2019-03-23 00:04:35 · 130 阅读 · 0 评论 -
事务
1. 什么是事务?数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成为什么需要事务?事务是为解决数据安全操作提出的,事务控制实际上就是控制数据的安全访问。Java事务的类型Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。事务的四个特性 (ACID)原子性 — 事务是一个原...原创 2019-03-27 01:12:37 · 104 阅读 · 0 评论 -
spring事务源码初步分析
首先看看@EnableTransactionManagement注解源码,发现该注解是导入了TransactionManagementConfigurationSelector组件@Import({TransactionManagementConfigurationSelector.class})public @interface EnableTransactionManagement { ...原创 2019-03-27 15:05:03 · 130 阅读 · 0 评论 -
spring boot整合rabbitMq---基础使用
AMQP协议1.简介AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是一个进程间传递异步消息的l网络协议2.AMQP模型3.工作流程消息发布者发布消息给交换机,交换机根据传递过来的路由键按照路由规则将接收到的消息分发给和交换机绑定的相应的队列,最后交给消息消费者RabbitMQ1.简介RabbitMQ是实现AMQP(高级消息队列协议...原创 2019-04-13 01:38:26 · 403 阅读 · 0 评论 -
RabbitMQ基础
RabbitMQ1.简介:RabbitMQ是一个实现了AMQP协议(Advanced Message Queue Protocol)的消息队列。2.作用:流量削峰当我们在秒杀特价商品时,系统在一小段时间内突然收到大量的订单,如果将这么多订单请求写入数据库的话,数据库的负荷会非常之大,然而我们的数据库层也是最脆弱的,但是有了消息队列后,我们可以先将订单请求写入消息队列中,消息队列是位于...原创 2019-04-17 01:08:03 · 172 阅读 · 0 评论 -
spring boot学习笔记(六)
今日内容:复习拦截器,过滤器写一个实现拦截器的登录功能区分拦截器,过滤器一,复习拦截器,过滤器1.拦截器1.拦截器概念是指通过统一拦截从浏览器发出的请求来完成功能的增强,可以是请求前增强,也可以请求后增强。说白了就是在一个流程正在进行的时候,你希望干预它的进展,甚至终止它进行,这是拦截器做的事情,在实现上基于Java的反射机制,属于面向切面编程(AOP)的一种运用。同时一个拦截器...原创 2018-12-27 15:29:41 · 181 阅读 · 0 评论