SpringBoot
文章平均质量分 94
童话ing
放弃不难,但坚持一定很酷。
展开
-
关于加@Transactional注解的方法之间调用,事务是否生效的问题
如果使用的Spring进行测试,则需要在xml中开启基于注解的事务:<tx:annotation-driven></tx:annotation-driven><!--配置事务管理器--><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSourc原创 2021-06-27 17:13:11 · 11320 阅读 · 7 评论 -
【SpringBoot】阿里云ESC购买配置JDK、MySQL、SpringBoot项目部署
最近自己弄了一个博客,前端SemanticUI 后端SpringBoot+Mybatis,不管做得丑陋与否,还是想部署到公网上去玩一玩,于是乎就去阿里云嫖了一个月免费服务器练练手。记录一下也供大家参考。文章目录一、阿里云服务器购买1、搜索云服务器ECS2、选择自己想要的配置购买,也可以一键购买3、购买成功4、开放端口5、远程连接二、XShell6.01、XShell连接阿里云服务器2、阿里云服务器JDK安装三、阿里云服务器MySQL安装1.apt换源(可选)2.安装MySQL四、SpringBoot项目打原创 2020-11-29 17:01:51 · 341 阅读 · 0 评论 -
【SpringBoot】SpringBoot2.x自定义RedisTemplate整合Redis
前言在SpringBoot中一般使用RedisTemplate提供的方法来操作Redis。但是面临着大量Redis代码问题以及默认jdk序列化后乱码问题,因此本文采用统一配置类RedisConfig配置Redis序列化相关以及采用RedisUtil工具类简化开发,降低代码的复杂性。Maven依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>s原创 2020-11-28 11:19:48 · 1034 阅读 · 2 评论 -
【SpringBoot】Swagger2后端API文档生成工具
在日常的开发过程尤其是在前后端分离的开发中,后端往往需要给前端(Web、IOS、Android)或者第三方服务提供接口,这个时候后端就需要给前端提供一份详细的API说明文档。但是维护一份详细的文档并非易事。首先,编写一份详细的说明文档本身就是一件很费时费力的事情,另一方面,由于代码和文档是分离的,所以很容易导致文档和代码的不一致(比如代码中改了参数,文档中肯定也得跟着改,这不是搞事儿吗)。因此,本文将介绍SpringBoot如何整合Swagger2进行API文档维护,即通过Swagger来自动生成Res原创 2020-11-26 13:01:11 · 220 阅读 · 0 评论 -
【SpringBoot】拦截器处理JWT验证
在上文一文读懂JWT+JAVA的两种实现方式中,我们已经了解到了JWT并进行了实现,但是在每个接口都进行验证会使得代码非常冗余,因此本文中,我们将结合SpringBoot2.x进行整合,将JWT验证放到拦截器中进行实现。JWT认证流程图如下:创建包结构:Maven依赖信息: <!--java-jwt--> <dependency> <groupId>com.auth0</groupId> .原创 2020-11-23 20:54:33 · 1142 阅读 · 1 评论 -
[SpringBoot]@Component加入容器之后@Autowired注入为null解决
问题:springboot 项目 ,在@Component注解下@Autowired的类为null的情况,也就是没注入成功,或者说是此类在bean加载之前就被调用了。文章目录前言1、规范建立包,让SpringBoot自动扫描(推荐)2、手动指定扫描路径3、其他方法 3.1 声明一个此类的静态变量,用以保存bean。 3.2 编写工具类实现ApplicationContextAware接口,重写setApplicationContext方法前言为什么SpringBoot可以省去配置文件?其实Spr原创 2020-11-16 16:09:37 · 12556 阅读 · 0 评论 -
乐观锁几种实现方式(Mybatis+Redis+Jedis)
上文我们介绍了一下什么是乐观锁和悲观锁以及实现的思路。Mysql乐观锁与悲观锁的区别。本文中,我们简单实现一下乐观锁。文章目录一、Mybatis实现二、Redis实现乐观锁介绍: 乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。那么我们如何实现乐观锁呢,一般来说有以下2种方式:一、Mybatis实现1、...原创 2020-11-15 22:18:15 · 6709 阅读 · 1 评论 -
[SpringBoot]自定义配置文件和多环境激活
SpringBoot中经常使用配置文件applicaiton.properties/application.yml,这两个公共的配置文件我们再熟悉不过,但有些时候这两个配置文件往往不能满足我们的要求,此时我们就需要自定义配置文件。1、自定义配置文件首先我们要知道,自定义的配置文件是不会被SpringBoot自动加载的,需要我们手动的进行加载,一般采用配置文件方式进行加载。举个栗子:自定义配置文件remote.properties。remote.uploadFilesUrl=/resource/fi原创 2020-11-15 19:25:30 · 668 阅读 · 0 评论 -
SpringBoot2.x 全局事务配置
在上一篇文章SpringBoot事务特性介绍以及注解版事务管理配置中,我们将结果SpringBoot下注解版的事务配置、事务配置中的一些属性等,但个人推荐还是使用全局事务配置。首先依旧还是在启动类上加上事务开启注解@EnableTransactionManagement如下:@EnableTransactionManagement //开启事务public class AdminApplication { public static void main(String[] args)..原创 2020-11-06 18:40:49 · 963 阅读 · 7 评论 -
【SpringBoot+Mybatis】bootstrap/sematic UI与pagehelper实现分页
1.引入paging.js//分页,页码导航,要求参数为一个对象function createPageNav(opt) { opt= opt || {}; var $container = opt.$container || null, //必需,页码容器,请确保这个容器只用来存放页码导航 pageCount = Number(opt.pageCount) || 0, //必需,页码总数 currentNum =原创 2020-10-17 10:00:31 · 371 阅读 · 0 评论 -
一文读懂Cookie、Session、Token
本文找了几篇网上讲的不错的文章,将几着合在一起,便于直接对cookie、session、token一次性理解,前一部分通俗易懂地讲解了token来源,后部分对cookie、session、token进行书面解释。便于读者一文找到想要的答案。1、很久很久以前,Web基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议,就是请求加响应,尤其是我不用记住是谁刚刚发了HTTP请求,每个请求对我来说都是全新的。这段时间很嗨皮2、但是随着交互原创 2020-10-05 21:43:08 · 432 阅读 · 0 评论 -
Spring Boot整合Spring Security后ajax提交POST数据出错,403拒绝访问 ,GET请求正常访问
首先:403错误,表示资源不可用。服务器理解客户的请求,但拒绝处理它,通常由于服务器上文件或目录的权限设置导致的WEB访问错误。ajax提交POST出现403错误先排查是否是权限不够、接收请求的Controller方法上method = RequestMethod.POST。这些问题都排查之后,确定你使用了SpringSecurity,则继续往下看。概述:spring boot中使用了spring security。spring security对post请求会进行身份验证。spring se原创 2020-09-29 11:56:37 · 938 阅读 · 1 评论 -
SpringBoot2.0之Mybatis-Generator完整配置+Free Mybatis plugin插件快速切换mapper和xml
1、添加pom依赖:<!-- mybatis generator 自动生成代码插件 --><plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <configurat原创 2020-09-16 22:03:57 · 920 阅读 · 0 评论 -
SpringBoot2.x下AOP增强日志管理+AOP切入点表达式
导入AOP依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>AOP日志管理增强指定包代码package com.dl.blog.config;import org.aspe原创 2020-09-15 15:48:48 · 327 阅读 · 0 评论 -
Spring系列 官方文档(中文翻译)
以下所有文档均包含多个版本,并支持多语言(英文及中文),后端福利。Spring Framework 中文文档Spring Boot 中文文档Spring Cloud 中文文档Spring Security 中文文档Spring AMQP 中文文档Spring Session 中文文档Spring Data:Spring Data JPASpring Data JDBCSpring Data Redis更多中文文档,请参看:https://www.docs4dev.com/amp原创 2020-09-04 09:45:41 · 1458 阅读 · 0 评论 -
[SpringBoot]图解SpringBoot启动流程+获取配置流程
一、springboot运行流程1、springboot获取配置的流程上图是我对springboot获取配置流程的简单总结。运行主程序时,调用了@SpringBootApplication注解,这个注解又包含一个@Import注解,用于导入配置类。这个@Import注解会去类路径下所有的META-INF/spring.factories中去搜索以“AutoConfiguration”为后缀的配置类;对找到的每一个××AutoConfiguration配置类,根据其上的@EnableConfig转载 2020-07-08 10:02:09 · 4303 阅读 · 0 评论 -
[SpringBoot]定时任务@Scheduled
SpringBoot定时任务主要由两个注解完成。@Scheduled加在方法上面。@EnableScheduling加在类上面。可以是Application类,也可以是@Component类,还可以是@Controller类等。如下:@SpringBootApplication@EnableSchedulingpublic class Application { public static void main(String[] args) { SpringApplication.r转载 2020-07-04 20:26:20 · 604 阅读 · 0 评论 -
SpringBoot配置静态资源访问位置(类路径下或本地磁盘)
SpringBoot默认静态资源位置可自己参见自动配置原理,自定义方式参见下面。一、配置类路径下面静态资源访问位置1、properties配置文件方式spring.mvc.static-path-pattern=/static/images/** spring.resources.static-locations=classpath:/static/images2、java代码方式import org.springframework.stereotype.Component;import原创 2020-07-01 17:21:40 · 4778 阅读 · 0 评论 -
SpringBoot事务特性介绍以及注解版事务管理配置
纯转载文章,记录一下自己学习学习。原文地址:springboot+mybatis事务管理spring,mybatis事务管理配置与@Transactional注解使用概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence AP转载 2020-06-27 09:52:28 · 475 阅读 · 0 评论 -
[SpringBoot]缓存注解@Cacheable、@CacheEvict、@CachePut、@Caching使用讲解
一、前言 从Spring3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保证我们缓存的方法对于相同的方法参数要原创 2020-06-01 22:17:58 · 4269 阅读 · 0 评论 -
SpringBoot引入Spring Data JPA依赖之后导入javax.persistence报错解决
描述:SpringBoot整合JPA,正常引入JPA的jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>但在实体类中导入javax.persistence包出错,说是找不到这个包,看了一下jpa的jar包确实原创 2020-05-19 20:30:20 · 4833 阅读 · 0 评论 -
[SpringBoot]@RequestParam和@PathVariable的用法与区别
文章目录一、SpringBoot——@PathVariable二、SpringBoot——@RequestParam三、@RequestParam和@PathVariable一、SpringBoot——@PathVariableURL变量 Web应用中的URL通常不是一成不变的,例如微博两个不同用户的个人主页对应两个不同的URL:http://weibo.com/user1和http://weibo.com/user2。我们不能对于每一个用户都编写一个被@Requ转载 2020-05-18 11:56:33 · 2065 阅读 · 0 评论 -
拦截器(Interceptor)和过滤器(Filter)区别
文章目录1.过滤器:2.拦截器:3.过滤器和拦截器的区别4、图解1.过滤器:依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等2.拦截器:依赖于web框架,在SpringMVC中就是依赖于SpringMVC框架。在实现上基于Java的反射机制原创 2020-05-16 16:07:59 · 515 阅读 · 0 评论 -
[SpringBoot] You must configure either the server or JDBC driver
描述:SpringBoot使用jdbc链接mysql时出错:yml数据源配置信息:修改在连接url后面加上useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC其中UTC是统一标准世界时间,而useUnicode和characterEncoding解决乱码问题...原创 2020-05-16 15:30:55 · 130 阅读 · 0 评论 -
idea2017.1 thymeleaf 前端html页面中表达式下面红色波浪线+ @Autowire自动注入对象下面红色波浪线
问题描述:IDEA2017.1使用thymeleaf模板时候,表达式报错。虽然不影响运行,但是太多了看着就难受。解决方法1、修改idea对thymeleaf表达式的报错提醒级别:·选择File->Settings->Editor->Inspections,然后搜索thymeleaf,修改Severity的级别不是Error就好:如下修改为Warning2、在html...原创 2020-05-07 21:22:22 · 1198 阅读 · 0 评论 -
@Component, @Repository, @Service的区别+@Autowired 和@Resource 的区别
之前在看spring的时候,学的是xml方式,导致现在对许多注解不太了解,看到文章比较好,转载记录一下,希望不要介意。文章目录一、@Component, @Repository, @Service的区别二、其他网上资料三、Spring 注释 @Autowired 和@Resource 的区别一、@Component, @Repository, @Service的区别官网引用引用sprin...转载 2020-05-05 22:21:15 · 3871 阅读 · 0 评论 -
[SpringBoot]配置文件写法+自动配置原理
申明:本文来自b站springboot视频讲解笔记部分。b站链接:自动配置原理本文主要讲三点:配置文件到底能写什么?怎么写?自动配置原理;配置文件能配置的属性参照1、自动配置原理:1)、SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration2)、@EnableAutoConfiguration 作用:利用EnableAuto...原创 2020-05-05 20:16:53 · 352 阅读 · 0 评论 -
[SpringBoot]@Value和@ConfigurationProperties注解取值比较+yml/properties配置文件简介
1、二者比较@ConfigurationProperties@Value功能批量注入配置文件中的属性一个个指定松散绑定(松散语法)支持不支持SPEL表达式不支持支持JSR303数据校验支持不支持复杂类型数据封装支持不支持二者都能获取yml或者properties配置文件中的相应属性的值。@Value为spring底层注解...原创 2020-05-04 10:38:05 · 973 阅读 · 0 评论