SpringBoot系列之缓存使用教程】的更多相关文章

介绍SpringBoot项目中使用缓存,之前先介绍一下Spring的缓存抽象和JSR107,本博客是我在学习尚硅谷视频和参考其它博客之后做的笔记,仅供学习参考 @ 目录 一.Spring的缓存抽象 1.1.缓存抽象定义 1.2.重要接口 二.JSR107 2.1.JSR107核心接口 2.2.JSR107图示 三.Spring缓存使用 3.1.重要注解简介 3.2.环境准备 3.3.引入spring-boot-starter-cache模块 3.4.主要注解例子实践 3.4.1.@EnableC…
SpringBoot系列之集成Mybatis教程 环境准备:IDEA + maven 本博客通过例子的方式,介绍Springboot集成Mybatis的两种方法,一种是通过注解实现,一种是通过xml的方式 进行实验,要先创建一个Initializer工程,如图: 打包方式选择jar即可,因为Springboot使用了嵌入式的Servlet容器,直接运行jar即可,即使是web工程也支持 选择必要的jar,Mybatis.数据库驱动是必要的 新建项目后,会自动加上如下配置,,如果你的mysql服务…
目录 1.环境搭建 2.resource bundle资源配置 3.LocaleResolver类 4.I18n配置类 5.Thymeleaf集成 SpringBoot系统之i18n国际化语言集成教程 @ 1.环境搭建 本博客介绍一下SpringBoot集成i18n,实现系统语言国际化处理,ok,先创建一个SpringBoot项目,具体的参考我的博客专栏:SpringBoot系列博客专栏链接 环境准备: IntelliJ IDEA Maven 项目集成: Thymeleaf(模板引擎,也可以选j…
前言 日常开发中,缓存是解决数据库压力的一种方案,通常用于频繁查询的数据,例如新闻中的热点新闻,本文记录springboot中使用cache缓存. 官方文档介绍:https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#boot-features-caching-provider-generic 工程结构 代码编写 pom引入依赖,引入cache缓存,数据库使用mysql,ORM框架用jpa <!--添…
对应SpringBoot系列博客专栏,例子代码,本博客不定时更新 一.配置篇 SpringBoot系列之@PropertySource读取yaml文件     >> source download SpringBoot系列之外部配置用法简介     >> source download SpringBoot系列之配置文件加载位置     >> source download SpringBoot系列之配置文件占位符使用     >> source downl…
对应SpringBoot系列博客专栏,例子代码,本博客不定时更新 Spring框架:作为JavaEE框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时Spring框架及其子框架很多,所以知识量很广. Spring Boot:一款Spring框架的子框架,也可以叫微框架,是2014年推出的一款使Spring框架开发变得容易的框架.学过Spring框架的都知识,Spring框架难以避免地需要配置不少XMl,而使用Spring Boot框架的话,就可以使用注解开发,极大地简化基于Sp…
SpringBoot系列之日志框架介绍及其原理简介 1.常用日志框架简介 市面上常用日志框架:JUL.JCL.jboss-logging.logback.log4j.log4j2.slf4j.etc. 其中日志门面,也是一系列接口api的有slf4j(Simple Logging Facade for Java).JCL(Jakarta Commons Logging).jboss-loggin 注意:常用的slf4j等只是一日志门面,是一个日志的抽象层,非日志实现,具体的实现用通过log4j或…
发生异常是很正常的事,异常种类也是千奇百怪,发生异常并不可怕,只要正确的处理,并正确的返回错误信息并无大碍,如果不进行捕获或者处理,分分钟服务器宕机是很正常的事 所以处理异常时,最基本的要求就是发生异常后程序还能正常的接收其他请求,不能因为发生异常导致服务不可用 比如上篇文章 springBoot系列教程06:参数验证及验证信息国际化 中用户缺失了必要的请求参数,如何友好的返回错误信息,引导用户改正并正确执行就至关重要 1.首先就是捕获异常 到底是何种类型的异常,异常信息是什么 2.解析异常信息…
前言 与时俱进是每一个程序员都应该有的意识,当一个Java程序员在当代步遍布的时候,你就行该想到我能多学点什么.可观的是后端的框架是稳定的,它们能够维持更久的时间在应用中,而不用担心技术的更新换代.但是类似SSH,SSM这些框架已经太久了,人们迫不及待地想使用更为优雅而又简便的框架来代替,所以SpringBoot运用而生. 学习条件 SpringBoot框架是应用在Spring Framework框架的基础上,对Spring Framework框架的进行优化和升级成为了新的框架.既SpringB…
本篇学习目标 Spring Boot是什么? 构建Spring Boot应用程序 三分钟开发SpringBoot应用程序 本章源码下载 Spring Boot是什么? spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为…
SpringBoot系列之Spring Data Jpa集成教程 Spring Data Jpa是属于Spring Data的一个子项目,Spring data项目是一款集成了很多数据操作的项目,其下的子项目有如下图所示: 官方也有提供了英文版的文档,具体可以参考Spring data官方文档 JPA是一个规范,并非具体的实现框架,而Spring Data JPA就是依赖于Hibernate JPA的实现 ok,接着通过例子的方式介绍Springboot集成Spring Data JPA的方法,…
web三大组件之一Filter,可以说是很多小伙伴学习java web时最早接触的知识点了,然而学得早不代表就用得多.基本上,如果不是让你从0到1写一个web应用(或者说即便从0到1写一个web应用),在你的日常业务开发中不太可能碰到需要手写Filter的场景 本文将简单介绍写什么是Filter,以及在SpringBoot中使用Filter的一般姿势与常见问题 原文查看: SpringBoot系列教程web篇之过滤器Filter使用指南 I. 背景 在正式开始之前,有必要先简单看一下什么是Fil…
关于Web应用的全局异常处理,上一篇介绍了ControllerAdvice结合@ExceptionHandler的方式来实现web应用的全局异常管理: 本篇博文则带来另外一种并不常见的使用方式,通过实现自定义的HandlerExceptionResolver,来处理异常状态 上篇博文链接: SpringBoot系列教程web篇之全局异常处理 本篇原文: SpringBoot系列教程web篇之自定义异常处理HandlerExceptionResolver I. 环境搭建 首先得搭建一个web应用才…
当我们的后端应用出现异常时,通常会将异常状况包装之后再返回给调用方或者前端,在实际的项目中,不可能对每一个地方都做好异常处理,再优雅的代码也可能抛出异常,那么在 Spring 项目中,可以怎样优雅的处理这些异常呢? 本文将介绍一种全局异常处理方式,主要包括以下知识点 @ControllerAdvice Controller 增强 @ExceptionHandler 异常捕获 @ResponseStatus 返回状态码 NoHandlerFoundException 处理(404 异常捕获) 右键…
接着前面几篇web处理请求的博文,本文将说明,当出现异常的场景下,如404请求url不存在,,403无权,500服务器异常时,我们可以如何处理 原文友链: SpringBoot系列教程web篇之404.500异常页面配置 I. 环境搭建 首先得搭建一个web应用才有可能继续后续的测试,借助SpringBoot搭建一个web应用属于比较简单的活; 创建一个maven项目,pom文件如下 <parent> <groupId>org.springframework.boot</gr…
原文地址: SpringBoot系列教程web篇之重定向 前面介绍了spring web篇数据返回的几种常用姿势,当我们在相应一个http请求时,除了直接返回数据之外,还有另一种常见的case -> 重定向: 比如我们在逛淘宝,没有登录就点击购买时,会跳转到登录界面,这其实就是一个重定向.本文主要介绍对于后端而言,可以怎样支持302重定向 I. 环境搭建 首先得搭建一个web应用才有可能继续后续的测试,借助SpringBoot搭建一个web应用属于比较简单的活; 创建一个maven项目,pom文…
SpringBoot系列教程JPA之新增记录使用姿势 上一篇文章介绍了如何快速的搭建一个JPA的项目环境,并给出了一个简单的演示demo,接下来我们开始业务教程,也就是我们常说的CURD,接下来进入第一篇,如何添加数据 通过本篇文章,你可以get到以下技能点 POJO对象如何与表关联 如何向DB中添加单条记录 如何批量向DB中添加记录 save 与 saveAndFlush的区别 I. 环境准备 实际开始之前,需要先走一些必要的操作,如安装测试使用mysql,创建SpringBoot项目工程,设…
SpringBoot系列之自定义starter实践教程 Springboot是有提供了很多starter的,starter翻译过来可以理解为场景启动器,所谓场景启动器配置了自动配置等等对应业务模块的一个工程,有需要时候直接引入项目就可以,比如需要使用rabbitMQ,直接引入spring-boot-starter-activemq既可,详细介绍可以参考Springboot官方文档关于starters的介绍 查看官方文档,可以找到如下的命名规范: 其意思是SpringBoot官方的starter命…
SpringBoot 系列教程之事务隔离级别知识点小结 上一篇博文介绍了声明式事务@Transactional的简单使用姿势,最文章的最后给出了这个注解的多个属性,本文将着重放在事务隔离级别的知识点上,并通过实例演示不同的事务隔离级别下,脏读.不可重复读.幻读的具体场景 I. 基础知识 在进入正文之前,先介绍一下事务隔离级别的一些基础知识点,详细内容,推荐参考博文 mysql 之锁与事务 1. 基本概念 以下基本概念源于个人理解之后,通过简单的 case 进行描述,如有问题,欢迎拍砖 更新丢失…
SpringBoot 系列教程之编程式事务使用姿势介绍篇 前面介绍的几篇事务的博文,主要是利用@Transactional注解的声明式使用姿势,其好处在于使用简单,侵入性低,可辨识性高(一看就知道使用了事务):然而缺点也比较明显,不够灵活,稍不注意,可能就因为姿势不对,导致事务不生效 本文将介绍另外一种事务的使用姿势,借助TransactionTemplate的编程式事务 I. 配置 本篇主要介绍的是jdbcTemplate+transactionTemplate来完成一个编程式事务的实例 de…
SpringBoot 系列教程之事务不生效的几种 case 前面几篇博文介绍了声明式事务@Transactional的使用姿势,只知道正确的使用姿势可能还不够,还得知道什么场景下不生效,避免采坑.本文将主要介绍让事务不生效的几种 case I. 配置 本文的 case,将使用声明式事务,首先我们创建一个 SpringBoot 项目,版本为2.2.1.RELEASE,使用 mysql 作为目标数据库,存储引擎选择Innodb,事务隔离级别为 RR 1. 项目配置 在项目pom.xml文件中,加上s…
SpringBoot系列之RabbitMQ使用实用教程 @ 目录 1. 消息队列概述 1.1 MQ的概述 1.2 MQ目的地形式 2. 消息队列实现方式 2.1 常见MQ框架 2.2 MQ实现方式 3. RabbitMQ简介 3.1 RabbitMQ简介 3.2 核心概念 3.3 RabbitMQ运行机制 3.4 Exchange类型 4. RabbitMQ安装部署 4.1 Docker版本部署RabbitMQ 4.2 Admin新增用户 4.3 设置用户权限 4.4 创建Virtual Hos…
目录 1.SpringBoot日志级别 1).日志级别简介 2).默认日志级别 3).配置日志级别 4).日志分组设置 2.SpringBoot日志格式设置 1).默认格式原理简介 2).默认日志格式 3).自定义日志格式 4).日志颜色设置 3.日志文件归档 4.logging其它参数配置 5.开启日志调试模式 基于上篇博客,SpringBoot系列之日志框架介绍及其原理简介博客之后,本博客可以对日志框架的具体使用做一个比较详细的描述,以此作为一篇使用的手册,以此帮助学习Springboot者…
前言:springboot已经为我们实现了抽象的api接口,因此当我们使用不同的缓存时,只是配置有可能有点区别(比如ehcache和Redis),但是在程序中使用缓存的方法是一样的. 1.springboot使用ehcache缓存 1.步骤: 1.在pom.xml中配置2个依赖,添加spring-boot-starter-cache启动器,以及ehcache. <!-- ehcache --> <dependency> <groupId>net.sf.ehcache&l…
一.缓存有什么用?  缓存应该是我们每一个系统都应该考虑使用的,这样可以加速系统的访问,提升系统的性能.比如我们经常需要访问的高频数据,将此类数据放在缓存中,可以大幅度提升系统的响应速度.原因就是一般来说我们的数据都是存在数据库中,但是高频的访问数据库不仅会对数据库造成压力,一定程度上还会影响响应速度,影响用户体验.如果引入了缓存,不仅能提升访问性能的同时降低数据库的压力. 二.JSR107规范  JSR是Java Specification Requests的缩写,意思是Java 规范提案.是…
目录 1.模板引擎 2.Thymeleaf简介 2.1).Thymeleaf定义 2.2).适用模板 3.重要知识点 3.1).th:text和th:utext 3.2).标准表达式 3.3).Thymeleaf遍历 3.4).公共模块抽取 3.5).行内写法介绍 3.6).Thymeleaf语法规则 4.SpringBoot集成 4.1).Springboot集成Thymeleaf简介 4.2).Thymeleaf自动配置源码简单分析 SpringBoot系列之Thymeleaf语法简单介绍…
前言 jpa是ORM映射框架,更多详情,请戳:apring-data-jpa官网:http://spring.io/projects/spring-data-jpa,以及一篇优秀的博客:https://www.cnblogs.com/cmfwm/p/8109433.html,这里只是记录项目实现. 工程结构 代码编写 maven引包 <!--添加springdata-jpa依赖 --> <dependency> <groupId>org.springframework.…
注意点有:1. 不要启用 spring-boot-devtools, 如果启用 devtools 后, 不管是热启动还是手工重启, devtools总是试图重新恢复之前的session数据, 很有可能会导致session混乱.2. 在配置 Shiro 的filterChainDefinitionMap时, 登陆的 url 也要使用 authc filter. 3. 自定义 Realm 类的 doGetAuthenticationInfo() 方法, 仅生成 AuthenticationInfo…
SpringBoot系列之使用切换log4j日志框架 ok,在pom文件右键->Diagrams->show Dependencies....,如图,找到spring-boot-starter-logging,可以看到SpringBoot的日志实现默认依赖与logback,ok,如果你对这些知识不是很理解的,建议先看我Springboot专栏的日志系列博客:https://smilenicky.blog.csdn.net/category_9195353.html 本博客要实现的是切换默认日志…
SpringBoot系列之集成logback实现日志打印(篇二) 基于上篇博客SpringBoot系列之集成logback实现日志打印(篇一)之后,再写一篇博客进行补充 logback是一款开源的日志框架,内核重写了,是基于log4j基础进行改良的.其官网为http://logback.qos.ch/index.html,logback在性能上有很大提升,拥有更多特性. logback-core:是其它两个模块的基础模块 logback-classic:log4j的改良版本,实现了Slf4j A…