随笔分类 - spring全家桶 / SpringBoot
摘要:## 一、Spring Security认证和授权 ### (一)安全性和Spring Security框架 1、从一个安全性应用场景说起 如下图所示,工单的生成需要使用用户的订单记录等数据,而这些数据保存在外部平台中;那么就需要用户将自己在订单管理平台上用户名和密码告诉工单系统,工单系统登
阅读全文
摘要:一、使用Mybatis-Plus对数据访问进行扩展 1、MyBatis-Plus开发模式 (1)为什么用Mybatis-Plus Mybatis的问题: 通过原生SQL语句操作业务数据,自动化程度不高;通过繁杂的XML配置来映射字段和属性,影响开发效率;对字段名称的识别和校验不友好,易出错且
阅读全文
摘要:一、使用Springboot开发 WebAPI 1、Maven使用 (1)packaging的使用 通常的做法是先指定一个pom文件,做一个整体的框架,然后在pom中添加不同的子项目。 那么在父工程的pom文件中就需要指定packaging为pom <groupId>com.lcl.gala
阅读全文
摘要:一、多套数据源 1、独立数据库连接信息 Spring Boot 的默认配置文件是 application.properties ,由于有两个数据库配置,独立配置数据库是好的实践,因此添加配置文件 jbdc.properties ,添加以下自定义的主从数据库配置: # db01 spring.data
阅读全文
摘要:1、导入依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>spring-boot-starter-rocketmq</artifactId> <version>1.0.0-SNAPSHOT</version> </d
阅读全文
摘要:1、为了统一转转,可以使用日期格式化类 2、定义Bean对象 如果使用通用的格式化,直接定义就OK,如果是需要个性化定制,在属性上单加注解即可。 3、Controller 新增Controller中方法对第2步中的两个属性赋值 4、测试
阅读全文
摘要:1、引入依赖 2、在application配置文件中添加redis配置 3、自定义redisTemplate 由于后续要使用lua脚本来做权限控制,所以必须自定义一个redisTemplate,此处如果不自定义redisTemplate,则执行lua脚本时会报错。 4、增加限定类型枚举类 自定义一个
阅读全文
摘要:shiro主要有用户认证和用户授权两个功能 一、用户认证 1、导入依赖 2、新增测试页面 新增测试页面: login.html(登陆页面)、index.html(登陆成功页面)、error.html (无权限页面)、add.html(添加页面)、update.html(修改页面) 3、新增控制类 新
阅读全文
摘要:一、搭建xxl-job 1、下载xxl-job代码 码云地址:https://gitee.com/xuxueli0323/xxl-job gitHub地址:https://github.com/xuxueli/xxl-job 2、执行SQL 在数据库执行 \xxl-job\doc\db\tables
阅读全文
摘要:1、添加依赖 2、添加工具类 3、添加服务站点 主要使用注解如下: @ServerEndpoint:聊天室访问地址 @OnOpen: 建立 WebSocket 连接时触发 @OnMessage:客户端监听服务端事件,当服务端向客户端推送消息时会被监听到 @OnClose:关闭 WebSocket 连
阅读全文
摘要:随着开发时间积累,一个项目会越来越大,同时表结构也越来越多,管理起来比较复杂,特别是当想要把一个答的项目拆分成多个小项目时,表结构拆分会耗很大的精力;如果使用LiquiBase对数据库进行管理,那么就会大大提升迁移效率,还是以刚才的拆分项目为例,如果使用Liquibase,则只需要将指定模块的表文件
阅读全文
摘要:防止重复提交,主要是使用锁的形式来处理,如果是单机部署,可以使用本地缓存锁(Guava)即可,如果是分布式部署,则需要使用分布式锁(可以使用zk分布式锁或者redis分布式锁),本文的分布式锁以redis分布式锁为例。 一、本地锁(Guava) 1、导入依赖 2、自定义本地锁注解 3、本地锁注解实现
阅读全文
摘要:本文简单说明一下元注解,然后对元注解中的@Retention做深入的讨论,在文章最后使用元注解写一个自定义注解来结尾。 一、结论: @Target:注解的作用目标 @Target(ElementType.TYPE)——接口、类、枚举、注解 @Target(ElementType.FIELD)——字段
阅读全文
摘要:1、引入依赖 2、JSR-303 注解介绍 这里只列举了 javax.validation 包下的注解,同理在 spring-boot-starter-web 包中也存在 hibernate-validator 验证包,里面包含了一些 javax.validation 没有的注解,有兴趣的可以看看
阅读全文
摘要:先上代码,不捕获异常和手动捕获异常处理: 其中的各种问题就不再多说了,由于各种问题,因此需要对异常进行统一捕获 1、导入依赖 2、自定义异常类 3、定义异常模板 4、异常拦截器 此步时重点,需要特殊说明一下, @ControllerAdvice 捕获 Controller 层抛出的异常,如果添加 @
阅读全文
摘要:1、导包 由于使用thymeleaf模板引擎进行页面展示,因此需要导入thymeleaf启动器和web启动器 2、配置文件 3、thymeleaf页面 4、Controller 5、测试 http://localhost:8080/test/uploadIndex
阅读全文
摘要:1、导包 2、Controller中对视图的处理 3、页面获取视图的值 文件要创建在resource/templates目录下
阅读全文
摘要:实现定时任务有多种形式: Timer(强烈不建议使用): JDK自带的java.util.Timer;通过调度java.util.TimerTask的方式 让程序按照某一个频度执行,但不能在指定时间运行。 一般用的较少。 ScheduledExecutorService(建议不使用): JDK1.5
阅读全文
摘要:actuator是spring boot项目中非常强大一个功能,有助于对应用程序进行监视和管理,通过 restful api 请求来监管、审计、收集应用的运行情况,针对微服务而言它是必不可少的一个环节,本文只介绍如何集成actuator,及actuator最最简单的使用,对于自定义endPoint及
阅读全文
摘要:一、简介 Spring Cache是Spring对缓存的封装,适用于 EHCache、Redis、Guava等缓存技术。 二、作用 主要是可以使用注解的方式来处理缓存,例如,我们使用redis缓存时,查询数据,如果查询到,会判断查到的结果是否为空,如果不为空,则会将结果存入redis缓存,此处需要一
阅读全文