![](https://img-blog.csdnimg.cn/5b9e5d26fad5481587bc09af801d64cd.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring boot
文章平均质量分 59
springboot常用技术整合
worilb
半桶水
展开
-
springboot整合ACTable生成数据库表
我们在使用Mybatis或Mybatis-Plus时,可以用其自带的generator插件根据已经存在的数据库表生成代码(包括实体类),但是却不能通过实体类来创建、更改表。如果你使用的是JPA,那不必烦恼,JPA有此功能。使用Mybatis系列的可以考虑使用ACTable。官网复制的介绍:A.C.Table是对Mybatis做的增强功能,支持SpringBoot以及传统的SpringMvc项目结构,简单配置即可,该框架是为了能够使习惯了hibernate框架的开发者能够快速的入手Mybatis, “A.C.原创 2023-03-26 21:49:16 · 986 阅读 · 1 评论 -
springboot过滤器
Filter 引入了过滤链(Filter Chain)的概念,一个 Web 应用可以部署多个 Filter,这些 Filter 会组成一种链式结构,客户端的请求在到达 Servlet 之前会一直在这个链上传递,不同的 Filter 负责对请求/响应做不同的处理。过滤器作用是对客户端发送给 Servlet 的请求以及对 Servlet 返回给客户端的响应做一些定制化的处理,例如校验请求的参数、设置请求/响应的 Header、修改请求/响应的内容等。配置类作用相当于@WebFilter注解。原创 2023-03-17 17:49:08 · 1591 阅读 · 0 评论 -
springboot时间格式化与空值格式化
在JSR310FormattedSerializerBase类createContextual方法中会检查序列化器,首先会获取目标对象字段上的JsonFormat,如果JsonFormat 不为空,会读取其属性值。本文我们就照着此目标来实现。响应参数带Time的采用的是“ yyyy-MM-dd’T’HH:mm:ss.SSS ”格式,并且DATE默认使用的是UTC时间,比北京时间慢。没那么简单,自定义转换器中重写了时间序列化方法,并没有重写反序列化方法,而之前配置的全局序列化也已经失效。原创 2023-01-16 17:06:51 · 1365 阅读 · 0 评论 -
Docker部署SpringBoot服务
郑重提示:以下内容以win10系统演示,基础环境:docker(本地)、IDEA原创 2022-12-11 19:20:50 · 112 阅读 · 0 评论 -
springboot接收复杂参数(同时接收JSON与文件)
我们平时传递json用@RequestBody接收,上传文件用@RequestParam接收,如果要同时上传两者,用前面的注解就办不到了,这时候可以用@RequestPart代替。注意传参方式,json字符串要设置Content-Type,application/json有些场景不生效,可以用application/problem+json。原创 2022-11-17 15:03:28 · 5963 阅读 · 3 评论 -
利用Hutool工具类构建树形结构
返回树形结构原创 2022-01-08 20:25:14 · 1883 阅读 · 0 评论 -
springboot热部署 class XX cannot be cast to class XX 解决
当我们用devtools进行热加载时,有时会出现class XX cannot be cast to class XX ,XX is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader,而XX是同一个类。原创 2022-03-02 17:00:57 · 5059 阅读 · 1 评论 -
利用Spring Boot DevTools 实现IDEA热加载
首先在pom.xml中引入依赖接下来进行设置,设置方式有两种:On update action: 选择Update classes and resources 或者hot swap classes and update trigger file if failed都可以。有人说这种方式只能在debug模式下生效,其实run模式下一样有效。两者的区别是在改动java语句之后,在没有按Ctrl+F10的情况下,debug模式刷新浏览器会出现弹窗提示是否重新加载class文件,如下图:所以选择r原创 2020-07-15 13:53:04 · 1875 阅读 · 0 评论 -
springboot以http请求访问本地图片
如下图,本机(服务器)存储的图片想要在浏览器上通过Url地址访问:实现很简单,只需要利用拦截器将本机地址映射成url路径就行:@Configurationpublic class FilePathConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHan原创 2022-02-17 00:01:16 · 7439 阅读 · 2 评论 -
springboot打jar包供第三方使用(以回调为例)
前言:有时我们需要封装功能类库供第三方使用,这时候打包和我们平时发布项目有所不同。假设我们现在要对外提供一个计算功能,使用者只需要传入计算参数就能实现结果异步返回目录前言:1.编写回调函数类2.直接打JAR包(使用者必须手动)3.加上组件扫描后打包4.提供自定义注解5.使用spring.factories自动装配1.编写回调函数类我们先抽像出回调函数接口:再新建一计算器类,含有加法和乘法:一年级学生算加法:二年级学生算乘法:调用结果:一般回调都是异步,比如说一年级学生在调用加法后原创 2022-01-16 23:54:01 · 1863 阅读 · 0 评论 -
springboot单元测试junit5
junit5与junit4的注解区别如下原创 2021-05-16 22:56:33 · 109 阅读 · 0 评论 -
springboot搭建多模块(聚合)项目及jar包参数说明
目录1.创建父模块2.子模块entity、service3.创建web子模块4.建立传递依赖关系5.测试6.打包并在启动时修改配置参数1.创建父模块2.子模块entity、service3.创建web子模块4.建立传递依赖关系先看下依赖间的传递关系:5.测试先写简单代码6.打包并在启动时修改配置参数...原创 2021-12-28 22:54:51 · 247 阅读 · 0 评论 -
springboot整合shiro
文章目录1.测试jsp2.配置shiro3.使用固定用户名和密码登陆4.连接数据库认证(重点md5+salt)5.授权5.1页面授权5.2 代码控制权限5.3注解控制权限5.4数据控动态权限6.实现缓存6.1 EhCache缓存6.2 redis缓存1.测试jsp先导入jsp解析依赖: <!--JSP解析依赖--> <dependency> <groupId>org.apache.tomcat.embed</gr原创 2021-11-07 17:56:02 · 78 阅读 · 0 评论 -
springboot+hutool批量生成二维码压缩导出
文章目录1.引入依赖2.测试编码3.批量生成4.解析excel5.批量图片压缩6.上传excel直接将输出流转成压缩包1.引入依赖<!-- 生成二维码依赖--> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <ver原创 2021-10-18 00:58:17 · 1177 阅读 · 0 评论 -
springboot整合Lombok
文章目录1.引入依赖2.Lombok注解的使用1.引入依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>2.Lombok注解的使用...原创 2021-10-14 22:50:04 · 122 阅读 · 0 评论 -
springboot参数校验与全局异常处理
文章目录1.引入依赖2.字段添加校验注解3.编写测试控制器4.全局异常处理5.分组校验6.嵌套验证7.校验注解说明及@Valid与@Validated的区别1.引入依赖<!-- 参数校验依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-start原创 2021-10-10 22:11:29 · 422 阅读 · 0 评论 -
springboot整合jasypt-spring-boot-starter实现配置文件加密
在配置文件中会有些敏感信息,比如数据库账号和密码,如果使用明文是不安全的,这时候我们可以用jasypt对这些信息进行加密。文章目录1.引入依赖:2.加密3.用密文替换明文4.配置jaspyt5.JVM启动参数中设置密钥1.引入依赖:<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artif原创 2021-10-02 23:51:58 · 666 阅读 · 0 评论 -
SpringBootAdmin使用
1. 服务端搭建(监视方):导入依赖: <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.3.1</version> </dependency&g原创 2021-10-02 20:53:15 · 110 阅读 · 0 评论 -
springboot整合P6SPY打印sql日志
如上图,一般我们打印的日志都是参数都是问号,看起来不够直观,这时候可以考虑用P6SPY。引入依赖: <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>3.9.1</version> </dependency>替换JDBC驱.原创 2021-10-02 12:58:34 · 1066 阅读 · 0 评论 -
springboot注入为NUll的解决方法
我们时常会碰到注入为NULL的问题,这时候我们要手动从上下文中手动获取BEAN。可以编写工具类用来获取BEAN,至于注入失败的原因有多种日后再讲/** * 用来获取容器中的BEAN */@Componentpublic class ApplicationContextUtils implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override原创 2021-04-18 19:06:03 · 1390 阅读 · 0 评论 -
mybatis基础(八)springboot整合mybatis
下面只做简单演示:原创 2020-11-15 12:56:27 · 84 阅读 · 0 评论 -
springboot整合security(二)微服务案例
创建工程,结构如下:原创 2021-03-14 21:09:26 · 458 阅读 · 1 评论 -
springboot日志的使用与多个日志框架冲突解决
springboot默认使用logback日志1.日志级别从低至高为:ALL——原创 2021-03-01 22:50:33 · 2026 阅读 · 0 评论 -
springboot中的war包、jar包部署
1.war包与jar包的区别1、jar包不包含wabapp目录,jar包主要使用在通用功能,不包含webapp目录,打的jar包可以直接放在其他项目的lib使用,使用内部tomcat启动。启动流程:执行SpringBootApplication的run方法,启动IOC容器,然后创建嵌入式Servlet容器;2、war包方式,包含webapp目录,打包时包含webapp目录,使用外部容器进行启动。启动流程:先是启动Servlet服务器,服务器启动Springboot应用(springBootServlet原创 2021-02-28 23:16:27 · 226 阅读 · 0 评论 -
springboot自动配置原理
以下是@Import注解的作用演示:言归正传原创 2021-02-28 17:38:33 · 143 阅读 · 0 评论 -
springboot拦截器
1.什么是拦截器拦截器(Interceptor)类似于Servlet中的过滤器,主要用于拦截客户请求并做出相应的处理。与过滤器有如下区别:1.过滤器只能在容器初始化时被调用一次,在action的生命周期中,而拦截器可以多次被调用。2.过滤器可以对几乎所有的请求起作用,拦截器只能对action请求起作用。3.过滤器不能访问action上下文、值栈里的对象,而拦截器可以访问。4.过滤器依赖于servlet容器,而拦截器不依赖于servlet容器。5.过滤器是基于函数回调,而拦截器是基于java的反射原创 2021-02-27 23:32:10 · 23750 阅读 · 7 评论 -
springboot中面向切面编程(AOP)
1.什么是AOPAOP就是通过动态为项目中某些类在运行过程中动态创建代理对象,在对象中完成附加功能,保证在处理业务时更加专注于自己的业务逻辑开发。有以下几个概念:1.通知(Advice)——给目标方法添加额外操作称之为通知,也可以称为增强2.连接点(Joinpoint)——就是可以增强的地方(方法的前后某个阶段)3.切入点(Pointcut)——实际增强的地方4.切面(Aspect)——封装了通知和切入点用来横向插入的类5.代理(Proxy)——将通知应用到目标类动态创建的对象6.织入(We原创 2021-02-27 21:23:47 · 5526 阅读 · 4 评论 -
springboot配置文件属性注入
1.使用@Value进行属性注入上面这种注入方式比较麻烦,通常会使用前缀注入方式2.前缀注入方式(直接注入对象中属性)原创 2021-02-26 21:59:56 · 480 阅读 · 0 评论 -
springboot相关注解与配置
1.常用注解说明我们可以测验下args参数的作用:2.配置文件srpingboot用在企业级开发经常会有多种环境,所以配置文件可以针对不同环境做拆分。拆分遵循如下原则:公共配置放入主配置文件,不同环境配置放入不同配置文件。3.小技巧...原创 2021-02-26 16:34:34 · 79 阅读 · 0 评论 -
springboot介绍与入门
1.设计目的:springboot用来简化sping应用的初始搭建和开发过程。springboot框架相当于spring与springmvc的进一步封装与升级从而实现快速开发。2.有哪些特点1.构建独立spring应用2.内置tomacat容器,无需部署war文件3.简化Maven配置4.自动配置spring和springmvc,不需要xml文件3.环境搭建...原创 2021-02-26 15:15:27 · 63 阅读 · 0 评论 -
JWT的原理与使用(包括与springboot整合)
1.什么是jwtJWT是JSON Web Token的简写,以Json形式做为web应用中的令牌,用于在各方之间安全地将信息作为json对象传输,传输过程中可以完成数据加密、签名等相关处理。2.jwt能做什么1.授权。2.信息交换。3.jwt有何优势传统的session认证方式将session保存在服务端(一般是内存),通过客户端cookie的sessionid来找到对应的session实现认证。此方式有如下缺点:1.随着认证用户的增加,服务器内存会随着增加。2.如果session保存在服务原创 2021-02-24 21:01:04 · 390 阅读 · 0 评论 -
springboot异步、邮件与定时任务
异步任务:未使用异步注解使用异步注解邮件任务:定时任务:原创 2020-11-28 23:03:29 · 86 阅读 · 0 评论 -
springboot整合security(一)入门
spring security主要功能:1.认证——是什么身份2.授权——有哪些权限原创 2020-12-14 22:41:30 · 459 阅读 · 0 评论