springboot
文章平均质量分 73
桐花思雨
这个作者很懒,什么都没留下…
展开
-
SpringBoot配置全局日期格式转换器
在 应用中, 注解的 默认序列化中,日期格式默认为: 类型的显示在实际显示中,我们需要对其转换成我们需要的显示格式配置文件配置 配置方式这里需要修改时区 :数据库默认时区是格林尼治的时间,如果不设置,会比实际时间少 个小时(北京时间) 来源于 ,它是一个简单基于 Java 应用库。 注解用于属性或方法上,将 类型转换为我们需要的类型显示原创 2022-10-15 20:01:33 · 791 阅读 · 0 评论 -
SpringBoot整合Redis用到的工具类
目录配置类工具类配置类@Configurationpublic class RedisConfig { @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) throws UnknownHostException { RedisTemplate<String, Object&g原创 2021-10-02 17:19:32 · 222 阅读 · 0 评论 -
SpringBoot自定义starter
目录前言`SpringBoot` 自定义 `starter`创建多模块项目项目编码`custom-spring-boot-starter` 父模块依赖`hello-spring-boot-starter-autoconfigure` 子模块前言今天看到了一道面试题,如何实现一个自定义的 SpringBoot starter,或者说,SpringBoot 如何加载我们自己的 jar 包?其实,仔细想想本质是考察 SpringBoot 的自动配置原理,了解了其自动配置原理即可实现 SpringBoot 自定原创 2022-03-01 20:43:40 · 1110 阅读 · 0 评论 -
SpringBoot整合easyexcel进行excel报表导入导出
目录`easyexcel` 简介`EasyExcel` 和 `POI` 的对比easyexcel 简介Java 解析、生成 Excel 比较有名的框架有 Apache POI,但存在一个严重的问题就是非常的耗内存,针对这个问题阿里出品了用来处理 Excel 的开源工具 easyexcelGitHub 官网:https://github.com/alibaba/easyexcel官方文档:https://alibaba-easyexcel.github.io/EasyExcel 和 POI 的对比原创 2022-01-01 18:35:05 · 1650 阅读 · 3 评论 -
SpringBoot中的Aop优先使用的是JDK动态代理还是Cglib
目录`Spring` 中 `Aop` 的实现Spring 中 Aop 的实现如果代理对象有接口,就用 JDK 动态代理。JDK 动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法时,会先调用实现了 InvokeHandler 接口的 invoke() 方法,来实现业务增强如果代理对象没有接口,那么就直接使用 Cglib 动态代理。Cglib 动态代理是利用 asm 开源包,对代理对象类的 class 文件加载进来,通过修改其字节码生成子类来处理来看看这段来自 Spring 官方文原创 2021-11-29 23:09:19 · 2754 阅读 · 0 评论 -
SpringBoot异常处理机制之自定义404、500错误提示页面
目录`springboot` 自定义 `404、500` 错误页面使用模板引擎springboot 自定义 404、500 错误页面使用模板引擎在使用 thymeLeaf 等模板引擎时,springboot 会自动到 src/main/resources/templates/error/,文件夹下寻找 404.html、500.html 的错误提示页面错误提示页面的命名规则就是:错误码.html,如 404 是 404.html,500 是 500.html...原创 2021-11-26 23:06:20 · 3234 阅读 · 2 评论 -
SpringBoot中的约定优于配置
目录约定优于配置`springboot` 中的约定优于配置约定优于配置约定优于配置:也称作按约定编程是一种软件设计范式。目的在于减少软件开发人员所需要做出决定的数量,从而获得简单的好处,而又不失其中的灵活性。开发人员仅仅需要规定应用中不符合约定的部分约定优于配置,也有很多人解读为:约定大于配置,约定好于配置,习惯大于配置等。但它们都表明了一个意思,并不是说零配置。或者说零配置并不是完全没有配置,而是通过约定来减少配置约定优于配置也就是说:系统,类库,框架应该提供有合理的默认值,而非要求提供不必要的原创 2021-11-25 22:51:36 · 2681 阅读 · 2 评论 -
SpringBoot整合Quartz
目录`Quartz` 简介Quartz 简介Quartz 是一款功能强大的开源任务调度框架,几乎可以集成到任何 Java 应用程序中(小到单机应用,大到分布式应用)。Quartz 可用于创建简单或复杂的任务调度,用以执行数以万计的任务。任务被定义为标准化的 Java 组件,Java 编写的任务都可以被执行Quartz 是一个任务日程管理系统,一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统Quartz 用一个小 Java 库发布文件(.jar文件),这个库文件包含了所原创 2021-11-02 23:22:36 · 46228 阅读 · 35 评论 -
SpringBoot项目获取Spring容器中的bean
工具类创建工具类如下@Componentpublic class SpringUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void setApplicationContext(@NotNull ApplicationContext applicationContext) throws Beans原创 2021-11-02 23:07:23 · 460 阅读 · 0 评论 -
SpringBoot项目进行单元测试
目录`springboot` 项目进行单元测试`Maven` 依赖测试代码示例springboot 项目进行单元测试springboot 版本是 2.0.9.RELEASE,它默认集成的是 junit 4.12,我们就使用 junit 4.12Maven 依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test<原创 2021-10-25 17:53:42 · 564 阅读 · 0 评论 -
SpringBoot项目文件下载
目录搭建 `springboot` 项目`Maven` 依赖`application.properties`搭建 springboot 项目Maven 依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><depende原创 2021-10-24 18:23:30 · 1909 阅读 · 0 评论 -
SpringBoot项目文件上传
目录搭建 `springboot` 项目`Maven` 依赖`application.properties`搭建 springboot 项目Maven 依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><depende原创 2021-10-24 17:58:47 · 118 阅读 · 0 评论 -
SpringBoot中配置多环境的配置文件
目录前言配置文件的优先级前言在我们的 springboot 项目中,通常会有一个 application.yml 或 application.properties 的文件,这是整个 springboot 项目的核心配置文件,通常文件中包含着端口、程序名、数据源等重要信息的配置配置文件的优先级springboot 项目中的 application.yml 或 application.properties 配置文件一共可以出现在如下 4 个位置项目根目录下的 config 文件夹中项目根目录下c原创 2021-10-02 11:12:35 · 1392 阅读 · 0 评论 -
SpringBoot中Interceptor和Filter的使用
目录`Interceptor` 拦截器Interceptor 拦截器HandlerInterceptor 接口,该接口提供了拦截器的功能,如果自定义拦截器就要实现该接口,HandlerInterceptor 源码如下public interface HandlerInterceptor { // 处理器执行前方法 default boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object原创 2021-10-01 11:15:23 · 1487 阅读 · 0 评论 -
SpringBoot中接口跨域问题
目录跨域概念跨域概念我们的 Url 的一般格式都是:协议 + 域名(子域名 + 主域名) + 端口号 + 资源地址如 https://www.dustyblog.cn:8080/say/Hello 是由 https + www + dustyblog.cn + 8080 + say/Hello 组成只要 协议,子域名,主域名,端口号 这四项组成部分中 有一项不同,就可以认为是不同的域,不同的域之间互相访问资源,就被称之为跨域...原创 2021-09-29 23:14:20 · 214 阅读 · 0 评论 -
SpringBoot配置多数据源(动态切换)
目录前言项目搭建主要工具版本数据准备前言随着业务的不断增加,我们的系统会越来越庞大。显然单个数据库已经承受不了高并发带来的压力。一个项目使用多个数据库(无论是主从复制- - 读写分离还是分布式数据库结构)的重要性变得越来越明显。整合多数据源有两种方法:分包 和 AOP分包:分包主要是根据业务划分AOP:实际上就是通过 AOP 进行拦截,不同的注解里面的值,指向不同的数据源项目搭建主要工具版本springboot:2.0.6.RELEASEJDK:1.8mysql:5.7数据准备原创 2021-09-02 23:11:27 · 3057 阅读 · 4 评论 -
SpringBoot整合Swagger
目录简述`springboot` 整合 `swagger`项目搭建`swagger2` 配置简述前后端分离后,维护接口文档基本上是必不可少的工作。一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然这是一种非常理想的状态,实际开发中却很少遇到这样的情况,接口总是在不断的变化之中,有变化就要去维护,做过的小伙伴都知道这件事有多么头大!还好,有一些工具可以减轻我们的工作量,swagger2就是其中之一,本文主要和大伙来聊下在 spring boot原创 2021-09-02 14:31:42 · 145 阅读 · 0 评论 -
SpringBoot中的定时任务和异步任务
目录`springBoot` 定时任务的使用启动类上标注 `@EnableScheduling`springBoot 定时任务的使用springBoot 的定时任务需要两个注解 @EnableScheduling 和 @Scheduled@EnableScheduling:作用在启动类上,开启基于注解的定时任务@Scheduled:作用在方法上,表示该方法为定时方法启动类上标注 @EnableScheduling@SpringBootApplication@EnableScheduling原创 2021-05-02 22:19:41 · 392 阅读 · 0 评论 -
SpringBoot自动配置原理
前言springboot 的一大好处就是:大大简化了 spring 和其他框架的整合配置。传统的 SSM 套装虽然很大程度地简化了 Web 开发,但是其的配置文件却较为繁琐,为了简化配置文件使开发者更专注于业务编码,可以使用 springboot 来进行 Web 开发,其精简的配置和庞大繁茂的生态圈绝对令人惊叹springboot 之所以可以达到如此精简的配置,主要原因就是 springboot自动配置自动配置原理文章的 springboot 的版本为 2.0.xspringboot 应用的启动类原创 2021-03-24 15:57:29 · 244 阅读 · 0 评论 -
SpringBoot异常处理机制之统一异常处理和自定义异常类
统一异常处理相关注解@ControllerAdvice: 声明在类上用于指定该类为控制增强器类,如果想声明返回的结果为 RESTFull 风格的数据,需要在声明 @ExceptionHandler 注解的方法上同时加上 @ResponseBody@RestControllerAdvice: 声明在类上用于指定该类为控制增强器类。并声明返回的结果为 RESTFull 风格的数据,无需在声明 @ExceptionHandler 注解的方法上加 @ResponseBody@ExceptionHandler原创 2021-03-24 14:01:39 · 511 阅读 · 0 评论 -
SpringBoot整合JWT
JWT 概述JWT 是什么JWT 全称 JSON Web Token,是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准它将用户信息加密到 Token 里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证 Token 的正确性,只要正确即通过验证JWT 详细讲解请见 github:https://github.com/jwtk/jjwt...原创 2021-03-24 00:52:19 · 279 阅读 · 2 评论 -
SpringBoot访问静态资源
springboot 默认访问静态资源路径查看 springboot 的源码,在 ResourceProperties 这个类中@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)public class ResourceProperties { private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpa原创 2021-03-23 22:51:11 · 267 阅读 · 0 评论 -
SpringBoot 2.0.x应用修改默认的端口号
springboot 修改默认的端口号有时候我们可能需要启动不止一个SpringBoot,而SpringBoot默认的端口号是8080,所以这时候我们就需要修改SpringBoot的默认端口了。下面就分别说一下这两种方式原创 2021-03-23 17:54:58 · 538 阅读 · 0 评论 -
SpringBoot读取配置文件中的数据
springboot 读取配置文件中的数据在 springboot 框架里面对一些系统配置或者常量配置必须要在名字为 application 文件里配置 ,文件类型可以为后缀为 .properties 或者 .yml 形式其实无论是 properties 文件还是 yml 文件,他们的本质是相同的,即都是键值对,只不过写法不一样而已下面介绍几种最常用的读取配置文件中数据的方法使用 @Value 注解...原创 2021-03-23 17:12:50 · 1750 阅读 · 0 评论