
springboot
文章平均质量分 78
way_more
You can be way more.
展开
-
一个轻量实用的Java状态机框架--Cola-StateMachine
详解Java状态机框架--Cola-StateMachine原创 2024-01-17 15:45:00 · 10723 阅读 · 2 评论 -
Spring Boot学习:Flyway详解
flyway详解原创 2023-12-26 16:34:25 · 3876 阅读 · 0 评论 -
Spring Boot学习:Redis发布订阅
redis发布订阅频道消息原创 2023-12-26 09:57:53 · 965 阅读 · 0 评论 -
Spring SseEmitter推送消息
Spring SseEmitter推送消息原创 2023-12-19 15:12:50 · 3343 阅读 · 0 评论 -
Spring Boot学习(三十三):集成kafka
springboot集成kafka原创 2023-12-06 15:18:48 · 1024 阅读 · 0 评论 -
Spring Boot学习(三十二):异步执行注解@Async
目录前言1、开启异步异步调用2、定义异步任务常见TaskExecutor3、自定义Async配置前言当我们需要异步执行某个方法时,最常用的方法就是新建一个线程去执行任务或者把任务提交到线程池异步执行。在spring boot,最简单的方式就是使用 @Async注解。下面我们就来体验下 @Async注解1、开启异步异步调用在启动类添加@EnableAsync注解即可开启异步调用@SpringBootApplication@MapperScan("com.example.testdemo.mappe原创 2021-07-26 16:07:03 · 5090 阅读 · 0 评论 -
Spring Boot学习(三十一):SpringBoot集成MyBatis-Plus,增强版MyBatis!
目录前言MyBatis-PlusSpringBoot集成MyBatis-PlusMyBatis-Plus的CRUD前言Spring Boot系列: 点击查看Spring Boot系列文章MyBatis-PlusMyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性 - 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 - 损耗小:启动即会自动注入基本 CURD,性能基本无损耗原创 2021-01-25 16:58:46 · 685 阅读 · 1 评论 -
Spring Boot学习(三十):SpringBoot集成WebSocket
前言Spring Boot系列: 点击查看Spring Boot系列文章WebSocketWebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务原创 2020-09-24 21:04:05 · 447 阅读 · 0 评论 -
Springboot 全局时间格式化方式,别再写重复代码了
格式化时间时间格式化在项目中使用频率是非常高的,当我们的 API 接口返回结果,需要对其中某一个 date 字段属性进行特殊的格式化处理,通常会用到 SimpleDateFormat 工具处理。SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");Date stationTime = dateFormat.parse(dateFormat.format(PayEndTime()));可一旦处理的地方较多,不仅 CV 操作频转载 2020-09-21 21:08:02 · 210 阅读 · 0 评论 -
修改Spring Boot项目上传文件大小限制
目录前言解决方法额外前言springboot默认文件大小的限制是1MB,超过1MB会出现这个错误:org.springframework.web.multipart.MultipartException。解决方法我们可以通过设置application配置文件属性更改文件大小限制以下为spring boot 2.x版本的配置写法,1.x的配置写法不一样1、application.propertiesspring.servlet.multipart.max-file-size=10Mb spri原创 2020-09-21 20:58:01 · 7476 阅读 · 0 评论 -
Spring Boot学习(二十九):用Spring Boot发送邮件,原来这么简单
前言Spring Boot系列: 点击查看Spring Boot系列文章Spring Boot发送邮件在开发中,有时候我们需要在项目中发送邮件。其实,在Spring Boot中发送邮件是很简单的,下面我们就来看看1、添加邮件依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifac原创 2020-08-05 21:39:15 · 431 阅读 · 0 评论 -
Spring Boot学习(二十八):Spring Boot Admin让你轻松监控你的Spring Boot应用
前言Spring Boot系列: 点击查看Spring Boot系列文章Spring Boot AdminSpring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册(通过HTTP)或使用SpringCloud注册中心(例如Eureka,Consul)发现。 UI是的Vue.js应用程序,展示Spring Boot Admin Client的Act原创 2020-08-04 20:38:39 · 416 阅读 · 0 评论 -
Spring Boot学习(二十七):Spring Boot Actuator让你轻松监控你的Spring Boot应用
Spring Boot ActuatorSpring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查、审计、统计和HTTP追踪等。所有的这些特性可以通过JMX或者HTTP endpoints来获得。Actuator同时还可以与外部应用监控系统整合,比如 Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic等。这些系统提供了非常好的仪表盘、图标、分析和告警等功能,使得你可以通过统一的接口轻松的监控和管原创 2020-07-11 17:42:46 · 1215 阅读 · 0 评论 -
Spring Boot学习(二十六):Spring Boot整合RabbitMQ,开箱即用
前言Spring Boot系列: 点击查看Spring Boot系列文章RabbitMQRabbitMQ是目前非常热门的一款消息中间件,如果对RabbitMQ还不是很熟悉的,可以看我的另一篇文章:RabbitMQ入门。Spring Boot整合RabbitMQ1、在pom.xml中添加相关依赖<!--消息队列相关依赖--><dependency> <groupId>org.springframework.boot</groupId>原创 2020-07-05 14:25:19 · 405 阅读 · 0 评论 -
Spring Boot学习(二十五):Spring Boot整合EasyExcel,操作Excel太简单了
前言Spring Boot系列: 点击查看Spring Boot系列文章EasyExcelEasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称,能避免OOM(使用poi可能会OOM)。EasyExcel能大大减少占用内存的主要原因是,在解析Excel时没有将文件一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。以下是官方的介绍:Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有原创 2020-06-29 19:24:27 · 3332 阅读 · 0 评论 -
Spring Boot学习(二十四):Spring Boot使用Spring Cache实现缓存
前言Spring Boot系列: 点击查看Spring Boot系列文章SpringCache从Spring3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保证我们缓存的方法原创 2020-06-27 13:57:05 · 383 阅读 · 0 评论 -
Spring Boot学习(二十三):Spring Boot整合Redis,五分钟搞定
前言Spring Boot系列: 点击查看Spring Boot系列文章RedisRedis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replicatio原创 2020-06-26 13:34:50 · 336 阅读 · 1 评论 -
Spring Boot学习(二十二):@ConditionalOnProperty和@ConditionalOnExpression控制加载
@ConditionalOnProperty@ConditionalOnProperty的作用是判断一个Property属性,是否符合我们的条件,符合则让该注解修饰的类或者方法生效,否则不生效我们在Spring Boot中可以通过@ConditionalOnProperty来控制Configuration配置类是否生效@ConditionalOnProperty源码:@Retention(RetentionPolicy.RUNTIME)@Target({ ElementType.TYPE, El原创 2020-06-25 20:06:51 · 6240 阅读 · 0 评论 -
Spring Boot学习(二十一):Spring Boot中经常看到的Conditional注解,原来是这个作用
前言Spring Boot系列: 点击查看Spring Boot系列文章@Conditional注解这个注解在Spring4中引入,其主要作用就是判断条件是否满足,从而决定是否初始化并向容器注册Bean声明://作用域为类或者方法上@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Conditional { /**原创 2020-06-22 19:31:15 · 417 阅读 · 0 评论 -
Spring Boot学习(二十):Spring Boot整合Quartz ,一个强大的定时框架
Quartz 介绍Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。Quartz 允许程序开发人员根据时间的间隔来调度作业。Quartz 实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。Quartz 核心概念我们需要明白 Quartz 的几个核心概念,这样理解起 Quartz 的原理就会变得简单了。1、Job 表示一个工作,原创 2020-06-20 12:59:32 · 848 阅读 · 2 评论 -
Spring Boot学习(十九):Spring Boot做定时任务,原来这么简单
前言Spring Boot系列: 点击查看Spring Boot系列文章定时任务Spring Boot定时任务实现在主要有两种方法:第一种:使用spring自带的Task任务。使用简单,功能比较单一第二种:使用Quartz框架。功能强大,使用起来较复杂以下主要介绍第一种方法,第一种方法对应一般普通的定时任务也够用了Task开发由于SpringBoot内置了定时任务Scheduled,所以我们不需要额外的导入依赖。开启定时任务的方法有两种一种是在配置类上加@EnableScheduli原创 2020-06-17 19:38:52 · 373 阅读 · 0 评论 -
Spring Boot学习(十八):Spring Boot整合Swagger2,原来这么简单
前言Spring Boot系列: 点击查看Spring Boot系列文章Swagger2在现在,前后端分离已经成为互联网项目一种主流的开发方式,前端与后端交给不同的人员开发,其中交流API规定,写接口文档也成了家常便饭。我们知道,接口总是不断的在变动,如果每次都人为修改,是很浪费时间的,所以Swagger2 诞生了。Swagger2 就可以很好地解决这个问题,它可以动态生成Api接口文档,降低我们的沟通成本,最重要还免费。1、pom文件导入依赖,我使用的是最新的2.9.2,大家根据自己需求来选择版原创 2020-06-15 19:42:43 · 478 阅读 · 1 评论 -
Spring Boot学习(十七):Spring Boot的AOP教学,一看就会用
前言Spring Boot系列: 点击查看Spring Boot系列文章AOPAspect Oriented Programming(AOP):意为:面向切面编程。通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。是Spring框架中的一个重要内容,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。主要功能日志记录,性能统计,安全控制,事务处理,异常处理等等。我们知道AOP是通过动态代理实现的,而Spr原创 2020-06-13 23:52:19 · 1491 阅读 · 0 评论 -
Spring Boot学习(十六):Spring Boot整合pagehelper(Mybatis分页神器)
前言Spring Boot系列: 点击查看Spring Boot系列文章PageHelper要说MyBatis最常用的分页插件是什么?那一定非PageHelper不可了。下面是官方的介绍MyBatis 分页插件 PageHelper如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页。Spring Boot集成PageHelper下面,我们就在Spring Boot集成PageHelper1、pom.xml添加依赖注意:原创 2020-06-10 15:51:34 · 2140 阅读 · 0 评论 -
Spring Boot学习(十五):Java三大器之一!Spring Boot监听器使用秘籍
前言Spring Boot系列: 点击查看Spring Boot系列文章监听器顾名思义,监听器就是用来监听某些事件,当事件发生某些情况的时候,我们就采取对应的行动。下面是找的一个比较详细的解释监听器,字面上的理解就是监听观察某个事件(程序)的发生情况,当被监听的事件真的发生了的时候,事件发生者(事件源) 就会给注册该事件的监听者(监听器)发送消息,告诉监听者某些信息,同时监听者也可以获得一份事件对象,根据这个对象可以获得相关属性和执行相关操作。监听器涉及以下三个对象:(1)事件:用户对组件的原创 2020-06-10 12:28:38 · 432 阅读 · 0 评论 -
Spring Boot学习(十四):Java三大器之一!Spring Boot的过滤器使用秘籍
过滤器(Filter)过滤器,顾名思义就是用于过滤某些我们不需要的东西,留下符合我们要求的东西。拦截器与过滤器的区别:1、过滤器执行由Servlet容器回调完成,拦截器则是基于Java的反射机制(动态代理)实现的。2、Filter是依赖于Servlet容器,属于Servlet规范的一部分,也就是说过滤器Filter 的使用要依赖于Tomcat等容器,导致它只能在web程序中使用。而拦截器是一个Spring组件,并由Spring容器管理,并不依赖Tomcat等容器,是可以单独使用的。3、过滤器的原创 2020-06-09 19:12:39 · 308 阅读 · 0 评论 -
Spring Boot学习(十三):Java三大器之一!Spring Boot的拦截器使用秘籍
前言Spring Boot系列: 点击查看Spring Boot系列文章拦截器拦截器(Interceptor):在一个流程正在进行的时候,你希望干预它的进展,甚至终止它进行,这是拦截器做的事情。通俗点来说,就是拦截器可以帮我们把某个流程拦下来,执行一些我们设定的额外流程,执行完再继续本来的流程。一般我们可以用拦截器做登陆验证、性能检查、日志记录等。应用场景日志记录,可以记录请求信息的日志,以便进行信息监控、信息统计等。权限检查:如登陆检测,进入处理器检测是否登陆,如果没有直接返回到登陆页面原创 2020-06-09 16:51:49 · 538 阅读 · 0 评论 -
Spring Boot学习(十二):通俗易懂的Spring Boot整合Mybatis,看完就会用
前言Spring Boot系列: 点击查看Spring Boot系列文章MyBatisMyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objec原创 2020-06-09 12:06:48 · 312 阅读 · 0 评论 -
Spring Boot学习(十一):Spring Boot整合和使用JPA,详细易懂!
前言Spring Boot系列: 点击查看Spring Boot系列文章JPA是什么?JPA(Java Persistence API)是Sun官方提出的Java持久化规范. 为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据. 它的出现是为了简化现有的持久化开发工作和整合ORM技术. 结束各个ORM框架各自为营的局面.JPA仅仅是一套规范,不是一套产品, 也就是说Hibernate, TopLink等是实现了JPA规范的一套产品.Spring Data JPASpr原创 2020-06-08 18:21:34 · 933 阅读 · 0 评论 -
Spring Boot学习(十):Spring Boot整合和使用JdbcTemplate
前言Spring Boot系列: 点击查看Spring Boot系列文章Spring连接数据库的方式有很多种,例如JDBC,JPA,Mybatis等。本文就从Spring Boot最基础的JDBC连接数据库开始,JDBC连接数据库,主要是注入JdbcTemplate,使用JdbcTemplate来操作数据库。JdbcTemplateSpring JDBC抽象框架core包提供了JDBC模板类,JdbcTemplate是最基本的Spring JDBC模板,这个模板支持简单的JDBC数据库访问功能以原创 2020-06-08 12:59:02 · 601 阅读 · 0 评论 -
Spring Boot学习(九):Spring Boot日志系统与集成log4j2
Spring Boot日志系统Spring Boot默认使用LogBack日志系统,如果不需要更改为其他日志系统如Log4j2等,则无需多余的配置,LogBack默认将日志打印到控制台上。pring Boot默认的日志输出格式如下:2020-06-07 20:13:46.640 INFO 152420 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'appli原创 2020-06-07 20:56:35 · 284 阅读 · 0 评论 -
Spring Boot学习(八):全局异常处理
全局异常处理在Spring Boot中,我们一般使用 @ControllerAdvice和@ExceptionHandler处理全局异常@ControllerAdvice是一个增强的 Controller。使用这个 Controller ,可以实现三个方面的功能:1、全局异常处理2、全局数据绑定3、全局数据预处理下面主要介绍使用@ControllerAdvice处理全局异常异常处理类我们只需要在类上加上@ControllerAdvice注解这个类就成为了全局异常处理类,当然你也可以通过 as原创 2020-06-07 15:58:13 · 205 阅读 · 0 评论 -
Spring Boot学习(七):多环境配置文件切换(profiles)
前言对于一个项目而言,一般都是有多个环境的(开发,测试,生产等)。而在开发中,我们的配置文件在不同环境中可能是不同的,比如端口号,数据库连接信息等。那我们应该怎么切换配置文件呢?这就要用到profiles功能了,下面介绍如何在Spring Boot使用Profiles功能Profiles在Spring Boot中多环境配置文件名需要使用application-{profile}.properties的格式,{profile}对应的是你的环境标识。//开发环境application-dev.pro原创 2020-06-07 15:32:16 · 464 阅读 · 0 评论 -
Spring Boot学习(六):ApplicationRunner和CommandLineRunner
前言在开发中,有时候我们需要在容器启动的时候做一些初始化或者其他的操作。这时候,我们在Spring Boot项目中应该怎么做呢?callRunners方法我们在上一篇分析Spring Boot的run()方法时候,在创建并刷新了ApplicationContext之后会调用一个callRunners方法如下callRunners(context, applicationArguments);private void callRunners(ApplicationContext contex原创 2020-06-06 16:31:05 · 478 阅读 · 0 评论 -
Spring Boot学习(五):Spring Boot启动类及其原理(解析run方法)
前言上一篇博客,大致讲解了@SpringBootApplication的原理,那么在SpringBoot的启动类中就剩下一个重点了,那就是SpringApplication的run()方法,接下来,我会通过源码来对run方法进行一定的解析public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }Spring Boot的run()方法解析启动类调原创 2020-06-06 15:43:36 · 918 阅读 · 0 评论 -
Spring Boot学习(四):Spring Boot启动类及其原理(解析@SpringBootApplication)
启动类我们来看一下Spring Boot的启动类@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }}很简洁的一个类,为什么这么简单的一个类,却可以启动我们的项目呢?很明显答案就在@SpringBootApplicati原创 2020-06-05 19:00:51 · 460 阅读 · 0 评论 -
Spring Boot学习(三):配置文件篇
配置文件Spring Boot 的配置文件有两种不同的格式,一种是 properties ,另一种是 yaml 。默认的配置文件名为:application在idea中创建springboot项目,会自动在项目的resources文件夹下创建一个application.properties配置文件两种格式只是书写格式不一样,根据自己的需求来选择使用哪种配置文件格式properties 的格式:xxx.xxx=xxx以逗号来表示递进关系,用等号来表示赋值例:server.port=xx原创 2020-06-05 16:44:21 · 284 阅读 · 0 评论 -
POM 标签大全详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd"> <!--父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的对应值即转载 2020-06-05 12:15:56 · 260 阅读 · 0 评论 -
Spring Boot学习(二):POM.xml文件与spring-boot-starter-parent解析
POM.xmlPOM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。POM 中可以指定以下配置:项目依赖插件执行目标项目构建 profile项目版本项目开发者列表相关邮件列表信息POM.xml解析以下是我的pom.xml文件和解析<?x原创 2020-06-05 12:10:08 · 1176 阅读 · 0 评论 -
Spring Boot学习(一):Spring Boot介绍和创建
Spring BootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。SpringBoot优点1、开发基于 Spring 的应用程序很容易,可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs原创 2020-06-04 23:17:19 · 455 阅读 · 0 评论