
[SpringBoot]
SpringBoot
我能在河边钓一整天的鱼
欢迎来到我的酒馆
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mybatis 批量更新操作(如果防止druid禁用多次重复更新)
1.配置文件添加开启批量操作参数2.重写druid配置类(前提当然是你项目中已经引入了druid的jar包)package com.apus.antivirus.admin.common.config;import com.alibaba.druid.pool.DruidDataSource;import com.alibaba.druid.wall.WallConfig;import com.alibaba.druid.wall.WallFilter;import or...原创 2021-05-19 14:15:58 · 714 阅读 · 0 评论 -
SpringBoot集成XXL-JOB(自用)
目录1.引入jar包2.配置yml3.代码层面新建一个jobHandler类4.管理控制台之token配置5.管理控制台之token配置6.管理控制台之任务管理7.任务的执行与启动这篇文章主要是写给我自己的。因为我们公司的job无需代码配置。导包即用~XXL-JOB这款定时任务调度中间件是使用思想是。你自己配置好一个名为job的java项目。然后把这个java项目打包,引入到你实际业务开发到项目中。我们公司的xxl-job使用步骤如下:1.引入jar包..原创 2021-04-02 12:20:57 · 866 阅读 · 0 评论 -
如何设计一个秒杀系统(三)
Redis实现限时抢购原创 2020-07-16 11:55:59 · 230 阅读 · 1 评论 -
如何设计一个秒杀系统(二)
整理Service代码上篇https://blog.youkuaiyun.com/Delicious_Life/article/details/107331912在添加乐观锁操作前,我们先整理下之前的service代码的书写,让其更加清晰直观。@Service@Transactionalpublic class msServiceImpl implements msService { @Autowired private StockDAO stockDAO; ...原创 2020-07-15 16:30:41 · 345 阅读 · 1 评论 -
如何设计一个秒杀系统(一)
目录秒杀的业务逻辑秒杀的代码逻辑基于事务的秒杀悲观锁解决多线程并发事务问题秒杀的业务逻辑首先看数据库有两张表,一张订单表,一张库存表。库存表中的count字段代表“一开始一共有多少库存”、sale字段代表“已售了多少”、version用来记录“乐观锁的版本号”再来看业务“秒杀”代表这抢购,抢购就先查库存是否有剩余然后创建订单,后面可能还要支付啊,取消订单退回库存等一系列事务操作。秒杀的保证措施除了上面说的事务操作外、还可以加上乐观锁防止...原创 2020-07-14 11:17:00 · 296 阅读 · 2 评论 -
SpringBoot实现用户注册&密码加盐&Hibernate Validator校验注解
目录接口说明数据校验导入注解的依赖给pojo类加注解密码盐值加密导入依赖新增盐值工具类ControllerService测试接口说明看完接口说明之后我们就开始实现这个功能了数据校验后端开发也是一定要有数据校验的,否则我们用swagger,postman这种常用工具就可以把不符合规则的数据增删改查...原创 2020-02-22 17:00:46 · 1135 阅读 · 0 评论 -
springboot数据校验功能开发
目录接口说明PojoControllerServiceMapper接口说明实现用户数据的校验,主要包括对:手机号、用户名的唯一性校验。接口路径:GET /check/{data}/{type}参数说明:参数 说明 是否必须 数据类型 默认值 data 要校验的数据 是 String ...原创 2020-02-21 12:39:39 · 443 阅读 · 0 评论 -
SpringBoot中如何通过thymeleaf实现HTML页面静态化
目录为啥要静态化Thymeleaf的重要概念实现页面静态化1.新建一个Service2.调用静态化HTML页面的方法3.配置nginx4.重启5.查看效果为啥要静态化对于电商网站来说,商品页面每时每刻都会有大量的用户流量,每个用户在当前浏览的页面就可能会有几十张图片,而且经常会需要动态加载,所以我们就想用静态化提高页面访问速度。那用...原创 2020-02-18 21:27:02 · 2846 阅读 · 5 评论 -
SpingBoot中如何实现文件上传(上传到本地且不使用DFS服务器)
目录功能实现后项目结构一览建立微服务项目引入依赖新建yml文件配置项目信息新建项目启动引导类ControllerService网关配置Nginx配置效果展示功能实现后项目结构一览建立微服务项目我们把上传单独做成一个模块,遵循软件的开闭原则引入依赖在pom文件中引入...原创 2020-02-08 16:53:02 · 356 阅读 · 0 评论 -
SpringBoot整合FastDFS并改造文件上传功能
目录承接上文改造UploadService测试承接上文我们之前没有使用fastdfs写好了文件上传的代码,博客如下,现在我们要通过fastdfs改造代码了https://blog.youkuaiyun.com/Delicious_Life/article/details/104224846改造UploadServicepackage com....原创 2020-02-08 20:08:10 · 624 阅读 · 1 评论 -
把Springboot项目打包成Docker镜像
目录一、新建springboot二、使用maven打包三、新建一个Dockerfile文件四、把jar包和Dockerfile文件放到服务器的指定目录五、构建镜像六、启动容器七、测试访问一、新建springboot写一行代码@RestControllerpublic class HelloController { @RequestMapping("/hello") public String hello(){ r...原创 2020-06-10 11:46:42 · 1153 阅读 · 2 评论 -
SpringBoot集成ElasticSearch
关于springdatahttps://blog.youkuaiyun.com/Delicious_Life/article/details/104279264工程搭建1.新建工程我们新建一个maven工程设置项目位置2.添加maven依赖 <parent> <groupId>o...原创 2020-02-13 09:34:59 · 286 阅读 · 0 评论 -
SpringBoot项目中如何往elasticseach索引库导入数据
新建模块1.新建一个maven模块设置文件路径2.导入maven依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/200...原创 2020-02-15 15:44:35 · 808 阅读 · 1 评论 -
Springboot项目如何向Redis集群中写入数据
目录关于Redis的集群搭建1.在项目中导入redis依赖2.添加redis连接信息3.新建Redis配置类4.注册Redis连接工厂5.新建测试类关于Redis的集群搭建大家可以参考下如何在ubuntu上通过docker搭建redis集群https://blog.youkuaiyun.com/Delicious_Life/article/details/...原创 2020-03-13 16:57:26 · 589 阅读 · 0 评论 -
Springboot整合Redis
目录比较Jedis和Lettuce基本整合RedisTemplate的使用自定义RedisTemplate企业开发的RedisUtil比较Jedis和LettuceSpringboot整合时使用springboot-data-redis。在spinrbgoot2.x以后,原来使用的jedis数据源被替换成了lettuce。jedis:采用直连,多个线程操作是不安全的,想要避免需要使用jedis pool。更像BIO模式 lettuce:底层采用netty进...原创 2020-05-28 11:27:53 · 324 阅读 · 0 评论 -
Springboot中的JSR303校验
JSR303是Java为Bean数据合法性校验所提供的一个标准规范我们知道前端传过来的数据后端也要做校验,但你在controller里边判断啊,返回提示信息啊着实很麻烦。此时你可以在类上使用@Validated注解开启JSD303校验,然后在具体的属性上添加@注解,如图,@Email会验证name自动是否符合邮箱格式,你还可以在注解的括号里修改提示信息...解放你的controllerJSR303常用格式注解...原创 2020-05-24 11:04:41 · 436 阅读 · 0 评论 -
Springboot集成Dubbo(快速版)
目录项目结构与步骤梳理provider-serverconsumer-server项目结构与步骤梳理完整项目结构如下步骤梳理1.开启zk服务2.提供者提供服务导入依赖 配置注册中心地址,服务发现名,扫描的包 在想要被注册的服务上增加@Service注解(dubbo包的service注解)3.消费者对服务进行消费导入依赖 配置注册中心的地址,配置自己的服务名 从远程注入服务@Reference(dubbo包的Reference注解)...原创 2020-05-14 15:01:57 · 272 阅读 · 0 评论 -
Springboot的异步、邮件任务、定时任务处理
目录异步需求同步任务 =》异步任务邮件任务定时邮件发送异步需求发送一封邮件时后台通过多线程进行异步处理,不影响用户对前台页面的操作。发送一封凌晨的定时邮件,用户大可不必陪在程序身旁监督是否发送成功。这些都是异步操作带来的好处。我们可以在Springboot中通过注解实现异步操作。同步任务 =》异步任务同步任务我们需要先新建一个spirngboot项目,导入web启动器。现在我们通过hello请求访问hello页面执行业务...原创 2020-05-13 18:02:51 · 259 阅读 · 0 评论 -
Springboot整合Shiro的授权功能
目录紧接上篇设定不同角色访问的页面把访问页面的权限设置给用户紧接上篇https://blog.youkuaiyun.com/Delicious_Life/article/details/106070703设定不同角色访问的页面我们先修改下ShrioConfig类中的getShiroFilterFactoryBean方法我们设置访问user/add页面需要经过授权,user用户且有add页面访问权限可浏览此页面。//第三步,创建ShiroFilterFact...原创 2020-05-12 17:57:50 · 360 阅读 · 0 评论 -
Springboot整合Shiro的认证功能
搭建springboot框架这里我使用的springboot版本是2.2.1,前端没用框架,模板引擎使用thmyleaf,完整jar包如下 <dependencies> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId>...原创 2020-05-12 16:29:32 · 278 阅读 · 0 评论 -
Shiro的基本概念与快速入门
目录什么是ShiroShiro的功能Shiro的架构Shiro快速开始分析Shiro的执行逻辑什么是Shiro正如它的Logo所写,简单的java安全框架Shiro的功能Authentication:身份认证 Authorization:权限验证 Session Manager:会话管理 Cryptography:加密 Web Support:Web环境支持 Caching:缓存 Concurrency:...原创 2020-05-12 09:53:07 · 297 阅读 · 0 评论 -
Springboot整合SpringSecurity
目录什么是Spring Security环境搭建基于AOP思想配置Secutrity基于WebSecurityConfigurerAdapter实现自定义权限控制策略基于AuthenticationManagerBuilder实现自定义身份认证策略什么是Spring Security是一个功能强大且高度可定制的用户身份验证和访问权限控制框架。它实际上是保护基于spring的应用程序的标准。在用户认证方面,Spring Security 框架支持主流的认证方式,..原创 2020-05-11 21:18:46 · 278 阅读 · 0 评论 -
Springboot整合Mybatis
目录前提导入MyBatis依赖修改springboot核心配合文件实体类接口mapper.xmlcontroller项目结构测试前提整合前的Springboot项目高低得有web启动器、jdbc启动器,mysql驱动,还有lombok这些。整合前的项目可以参考https://blog.youkuaiyun.com/Delicious_Life/article/details/106048063导入MyBatis依赖今天突然...原创 2020-05-11 16:20:53 · 152 阅读 · 0 评论 -
Springboot整合Druid
目录Springboot的默认数源据引入Druid和Log4j使用Druid数据源开启Druid监控测试Druid监控Springboot的默认数源据Springboot默认的数据源是Hikari,它被称为更高,更快,更强。本文讲的是如果项目组长让你把数据源换成Druid咱们该怎么搞。本篇博客在上一篇的基础上构建https://blog.youkuaiyun.com/Delicious_Life/article/details/106048063引...原创 2020-05-11 11:40:45 · 234 阅读 · 1 评论 -
Springboot整合JDBC
目录新建Springboot项目编写配置文件Springboot中的JDBCTemplate新建Springboot项目Springboot版本暂时不用选,等项目生成好之后先在pom文件中改Springboot的版本。依赖也不用选,改版本的springboot,你选择依赖极会让虎头虎脑的maven导入一部分新版本jar包,一部分旧版本jar包,导致杂糅报错。项目新建好之后,先更改springboot版本,再选择手动确认导入mavne依赖,最后再手...原创 2020-05-11 10:58:12 · 296 阅读 · 0 评论 -
Springboot之Themyleaf模板引擎
目录什么是模板引擎为什么Springboot不支持JSPSpringboot2.1.6如何使用thymeleaf什么是模板引擎在不使用Vue等前端框架的前提下,以前我们是通过JSP来作为前端页面渲染的模板引擎的,模板引擎提供动态的获取后端的数据,并显示在页面上。在Springboot中不再支持JSP作为模板引擎,它推荐使用freemarker或者themyleaf。为什么Springboot不支持JSP1.Springboot项目打成的是j...原创 2020-05-09 11:27:07 · 798 阅读 · 0 评论 -
Springboot中如何访问静态资源
第一种方法webjars(不常用)在pom文件中导入前端的webjars包然后通过静态资源路径地址访问第二种方法,手动放置静态资源在项目的resources目录下,默认新建了static和templates文件夹,你还可以手动新建public和resources文件夹,除了templates,其他三个文件夹和根目录下的静态资源都可以被访问访问顺序如下,resoureces>static>public,springboot...原创 2020-05-09 09:33:37 · 560 阅读 · 0 评论 -
Springboot中比较properties&yml以及快速进行多环境切换
方法一、新建多个配置文件有多个yaml配置文件,你只需要在主配置文件中写明要配置的环境即可方法二、只有一个主配置文件在配置文件的最上面写上项目启动用的环境,然后用---隔开,作为每一种环境配置。...原创 2020-05-08 19:12:59 · 369 阅读 · 0 评论 -
为什么在pom文件中更改springboot的版本会报错
案例分析如图,我只是新建一个springboot项目, 它竟然会提醒我maven无法导入spring-boot-starter-parent2.2.0这个jar包,我们来分析一下原因。maven自动导入依赖机制不可能有错啊,为啥别的项目导包可以对吧~ springboot的依赖包不可能有错啊,java程序员开发必备的springboot包,不可能存在质量问题 版本冲...原创 2020-05-07 10:13:38 · 4909 阅读 · 1 评论 -
SpringBoot项目报错If you want an embedded database (H2, HSQL or Derby), please put it on the classpath..
原因单刀直入,这个问题是pom文件引起的,如图如果我只是引用了一个关于数据库操作的jar包,却不配置数据库连接信息以及数据库地址,他就会报这个错误。因为只要你引入数据库操作相关jar包,他就会去找数据库信息是否正确。啊哦。。。。。。...原创 2020-03-13 18:52:20 · 1881 阅读 · 0 评论 -
SpringBoot项目启动时如何自动弹出启动页,如何修改默认启动路径
搞了一个DEMO,不知道启动路径是啥启动项目也不报错,只有这些,这些信息不知道怎么用啊SpringBoot如何自动弹出启动页默认启动页为:localhost:8080但是我们每次都手动输入地址非常的麻烦,怎么配置自动起来呢?1.首先在Springboot项目中添加测试类ControllerTest ,测试类ControllerTest ...原创 2019-08-29 16:32:12 · 11835 阅读 · 4 评论 -
基于WebSocket以及MongoDB开发聊天系统(三)
websocket实现逻辑1.发送消息流程2.接收消息流程编写websocket新建MessageHandler里面主要写接受和发送消息的逻辑package cn.itcast.haoke.im.websocket;import cn.itcast.haoke.im.dao.MessageDAO;import cn.i...原创 2020-03-18 22:40:07 · 605 阅读 · 0 评论 -
基于WebSocket以及MongoDB开发聊天系统(二)
目录编写启动类新建配置文件新建测试类测试Save方法测试testQueryList方法编写启动类package cn.itcast.haoke.im;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.Spr...原创 2020-03-18 17:29:16 · 378 阅读 · 0 评论 -
基于WebSocket以及MongoDB开发聊天系统(一)
搭建聊天系统以及编写实体类新建项目导入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>...原创 2020-03-18 17:07:43 · 799 阅读 · 0 评论 -
SpringBoot整合MongoDB
目录前言导入依赖编写application.properties配置文件编写PersonDao编写启动类编写单元测试前言涉及到了数据库的整合,我们采取把SpringData作为实现方式,整合在SpringBoot中导入依赖<parent> <groupId>org.springfra...原创 2020-03-18 16:05:39 · 269 阅读 · 0 评论 -
Springboot中使用拦截器拦截请求查询Redis
需求对于所有的Controller,我都想实现能走redis的查询就不走数据库,大致思路是请求在走到接口之前,咱们搞一个拦截器,符合get请求的拦截,非get请求的放行。新建拦截器类package cn.itcast.haoke.dubbo.api.interceptor;import com.fasterxml.jackson.data...原创 2020-03-15 00:06:53 · 2188 阅读 · 0 评论 -
SpringBoot整合WebSocket
目录前言新建一个Maven项目实现websocket服务编写客户端创建WebSocket处理器MyHandler创建WebSocketconfig配置类编写启动类添加拦截器测试前言本篇讲解了如何在springboot项目中使用websocket,并且通过拦截器拦截websocket请求。新建一个Maven项目...原创 2020-03-14 11:49:08 · 890 阅读 · 0 评论 -
SpringBoot快速集成Swagger
0.Swagger常用注解说明 @Api:修饰整个类,描述Controller的作用 @ApiOperation:描述一个类的一个方法,或者说一个接口 @ApiParam:单个参数描述 @ApiModel:用对象来接收参数 @ApiProperty:用对象接收参数时,描述对象的一个字段 @ApiResponse:HTTP响应其中1个描述 @ApiResponses:...原创 2020-02-27 21:30:54 · 317 阅读 · 1 评论 -
Springboot自动配置生效原理分析
目录自动装配原理举例分析自动装配的精髓自动配置类是怎么生效的自动装配原理举例分析以HttpEncodingAutoConfiguration类(Http编码自动配置)为例解释自动配置原理;//表示这是一个配置类,和以前编写的配置文件一样,也可以给容器中添加组件;@Configuration //启动指定类的ConfigurationProperties功能; //进入这个HttpProperties查看,将配置文件中对应的值和HttpProperties绑..原创 2020-05-09 08:55:18 · 764 阅读 · 0 评论 -
Springboot运行原理分析
前言本篇从pom文件、@SpringbootApplication、SpringApplication三个方面来分析pom文件spring-boot-starter-parentpom文件中有一个parent<parent> <groupId>org.springframework.boot</grou...原创 2020-05-07 16:41:30 · 401 阅读 · 0 评论