![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
springBoot
文章平均质量分 69
以实战深入springBoot开发项目
liu1002880404
这个作者很懒,什么都没留下…
展开
-
Autowired注解与Resource注解的区别及Spring同类型多个Bean的注入问题
文章目录Autowired注解与Resource注解的区别两者的用法两者的共同点两者的不同点具体应用如果两个实现类解决Spring同类型多个Bean的注入问题用Autowired注解使用 @Primary 指定一个 Bean 为主要的,存在冲突时默认选择主要的 Bean使用 @Qualifier 指定具体 Bean 的名称,通过名称注入解决冲突。使用Resource注解总结Autowired注解与Resource注解的区别两者的用法其实这两个注解的作用都一样,都是在做bean的注入,在使用过程中,两个原创 2022-05-05 10:57:29 · 1609 阅读 · 1 评论 -
SpringBoot整合Redis,RedisTemplate和注解两种方式
引入jar<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>注解方式使用 Redis 缓存启动类在启动类上加注解 @EnableCaching@SpringBootApplication@EnableCac原创 2021-07-12 08:54:13 · 1191 阅读 · 0 评论 -
SpringBoot集成EasyExcel
SpringBoot集成EasyExcel文章目录SpringBoot集成EasyExcelEasyExcel简介特点:应用场景应用依赖监听类controller类EasyExcel简介官网地址:https://www.yuque.com/easyexcelEasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 github地址:https://github.com/alibaba/easyexcel特点:1、Java领域原创 2021-07-10 22:10:25 · 494 阅读 · 0 评论 -
spring全家桶注解汇总
文章目录一、spring系列Resource Autowired @QualifierRepository Service Controller ComponentConfiguration 等二、springBoot 系列@SpringBootApplication @ComponentScan资源导入注解:@ImportResource @Import @PropertySource 这三个注解都是用来导入自定义的一些配置文件。@Transactional其他相关注解一、spring系列Res原创 2021-06-26 10:34:55 · 266 阅读 · 0 评论 -
SpringBoot读取配置文件的几种方式
先准备一下两个配置文件,名称为:application.properties和application.ymluserproperties.name=ss===propertiesuserproperties.age=11===propertiesuserproperties.sex=12===propertiesuserproperties.email=3333@163.com=====properties useryml: name: gongjie age: 23 sex原创 2021-06-23 17:19:34 · 2060 阅读 · 0 评论 -
springBoot整合druid数据源
一,添加依赖pom<!-- 引入SpringBoot父类依赖 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>...原创 2020-03-28 21:56:19 · 227 阅读 · 0 评论 -
WebSockets 应用场景介绍及Springboot整合Websocket案例(后端向前端主动推送消息)
一、什么是websocketWebSocket协议是基于TCP的一种新的网络协议。它实现了客户端与服务器全双工通信,学过计算机网络都知道,既然是全双工,就说明了服务器可以主动发送信息给客户端。这与我们的推送技术或者是多人在线聊天的功能不谋而合。为什么不使用HTTP 协议呢?这是因为HTTP是单工通信,通信只能由客户端发起,客户端请求一下,服务器处理一下,这就太麻烦了。于是websocket应运而生。二 WebSockets 的 应用场景没有其他技术能够像WebSocket一样提供真正的双向通原创 2020-10-13 17:52:09 · 1207 阅读 · 0 评论 -
springBoot整合velocity实现代码生成器思路
代码生成器,由表数据,表名,列名转换为类名,属性名,生成类,此生成器只提供一个思路,模板依据原理自己实现。1,导入pom依赖<!-- 引入SpringBoot父类依赖 --> <parent> <groupId>org.springframework.boot</groupId> <art...原创 2020-03-28 14:12:47 · 1648 阅读 · 0 评论 -
redis分布式锁(幂等性处理),lua脚本实现,java调用(RedisTemplate)
redis分布式锁(幂等性处理),lua脚本实现,java调用(RedisTemplate)加锁java调用方式 public void lock() { List<String> keyList = new ArrayList<>(); keyList.add("seer"); keyList.add("yuyanjia"); keyList.add("600"); /..原创 2021-04-21 17:23:58 · 683 阅读 · 2 评论 -
SpringBoot+Redis执行lua脚本的方法步骤
1、背景有时候,我们需要一次性操作多个 Redis 命令,但是 这样的多个操作不具备原子性,而且 Redis 的事务也不够强大,不支持事务的回滚,还无法实现命令之间的逻辑关系计算。所以,一般在开发中,我们会利用 lua 脚本来实现 Redis 的事务。2、lua 脚本Redis 中使用 lua 脚本,我们需要注意的是,从 Redis 2.6.0后才支持 lua 脚本的执行。使用 lua 脚本的好处:原子操作:lua脚本是作为一个整体执行的,所以中间不会被其他命令插入。 减少网络开销:可原创 2021-04-21 16:44:41 · 915 阅读 · 0 评论 -
SpringBoot前后端参数传递方式总结
前言:因为总是需要使用不同的参数传递方式,所以特地来总结一下SpringBoot中常用的参数的绑定方式,给有需要的朋友查阅。SpringBoot参数传递注意:虽然Restful风格很流行,但是大部分还是主要是GET和POST的内容,所以这里只是列举GET和POST请求为例。而且,无论怎么样的花样传参,它都是符合上面这个报文结构的!正所谓:万变不离其宗嘛!GET请求方式注意:我这里是示例形式是:代码+Postman测试截图+Fiddler抓包截图。01.单个键值对参数/**...原创 2021-01-10 11:48:32 · 6396 阅读 · 1 评论 -
Windows 安装 Kafka及kafaka-manager页面控制
下载Kafka解压并配置Kafka将kafka_2.11-2.1.0.tgz解压到D:\kafka_2.11-2.1.0文件夹。(注:文件夹不能带空格,否则zookeeper启动报错)http://kafka.apache.org/downloads.html下载二进制文件 https://www.apache.org/dyn/closer.cgi?path=/kafka/2.5.1/kafka_2.13-2.5.1.tgz解压 bin目录:启动,停止等命令...原创 2020-12-16 15:58:19 · 680 阅读 · 0 评论 -
Spring Boot 2.3 JSR-303实现请求参数校验
JSR-303在开始动手实践之前,我们先了解一下接下来我们将使用的一项标准规范:JSR-303什么是JSR?JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。JSR-303定义的是什么标准?JSR-303 是JAVA EE 6 中的一项子规范,叫做原创 2020-12-15 16:47:07 · 704 阅读 · 0 评论 -
springboot之spring-boot 2.3.x 整合swagger3.0.0
spring-boot 2.3.x 整合swagger3.0.0环境 版本 jdk 1.8.0_201 maven 3.6.0 Spring-boot 2.3.3.RELEASE 1、简介Swagger UI 是一款 API 在线文档生成和调试工具。在需求不断变更的开发环境下,手动编写文档的效率实在太低;在Swagger3版本中,减少了谷歌的guava依赖,更多的应用了java8的语法;新增了springboot流行的start启动包形式依..原创 2020-12-14 14:06:30 · 1623 阅读 · 0 评论 -
MyBatis-Plus 新版本 3.4.0 乐观锁以及分页配置
mybatis-plus3.4.0,乐观锁配置(OptimisticLockerInterceptor已经弃用)和分页配置(PaginationInterceptor已经弃用),文档推荐使用//乐观锁@deprecated 3.4.0 please use {@link MybatisPlusInterceptor} {@link OptimisticLockerInnerInterceptor}//分页配置@deprecated 3.4.0 please use {@link MybatisP原创 2020-12-09 12:44:14 · 2269 阅读 · 0 评论 -
springboot 多次读取请求request里数据
如果请求是GET方法,可以直接通过getParameter(String param)方法读取指定参数,可读取多次;而POST方法的参数是存储在输入流中,只能读一次,不能多次读取。有时需要在filter里打印请求参数,因而在filter里读取post请求里的输入流后,会导致具体的controller里拿不到请求参数。解决方法:采用ThreadLocal,在filter里把读取到的post参数存入ThreadLocal里,而controller就可以再从ThreadLocal里把请求参数读取出原创 2020-12-02 09:09:40 · 1910 阅读 · 0 评论 -
整合SpringTask实现定时任务
整合SpringTask实现定时任务本文主要讲解mall整合SpringTask的过程,以批量修改超时订单为例。项目使用框架介绍SpringTaskSpringTask是Spring自主研发的轻量级定时任务工具,相比于Quartz更加简单方便,且不需要引入其他依赖即可使用。Cron表达式Cron表达式是一个字符串,包括6~7个时间元素,在SpringTask中可以用于指定任务的执行时间。Cron的语法格式Seconds Minutes Hours DayofMon原创 2020-10-21 08:25:59 · 164 阅读 · 0 评论 -
mall在Windows环境下的部署
转载自http://www.macrozheng.com/#/deploy/mall_deploy_windowsmall在Windows环境下的部署本文主要以图文的形式讲解mall项目所需环境在windows下的安装,主要包括IDEA、Mysql、Redis、Mongodb、RabbitMQ、Elasticsearch、Logstash、Kibana、OSS。IDEA 关于IDEA的安装与使用请参考:https://github.com/judasn/IntelliJ-IDEA...转载 2020-09-30 14:25:39 · 813 阅读 · 0 评论 -
springboot整合bootstrap pagehelper分页插件 mybaties 做多表头表格查询列表
1,页面效果页面html 首先引入js bootstrap bootstrap-table <div style="width:1000px;"> <table id="lnjfxxDataGrid" class="table table-hover"></table> </div>jsfunction grlnzh(rec...原创 2020-09-23 15:45:59 · 386 阅读 · 0 评论 -
微服务部署 Dockerfile入门
Dockerfile 1.1 什么是Dockerfile Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个 新的镜像。 1、对于开发人员:可以为开发团队提供一个完全一致的开发环境; 2、对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新 的镜像开始工作了; 3、对于运维人员:在部署时,可以实现应用的无缝移植。 1.2 常用命令 FROM image_name:tag 定义了使用哪个基础镜...原创 2020-09-18 18:42:00 · 401 阅读 · 0 评论 -
springboot整合poi实现导出excel
一,pom <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <...原创 2020-09-11 15:21:55 · 539 阅读 · 0 评论 -
springboot动态配置文件扩展接口EnvironmentPostProcessor
EnvironmentPostProcessor接口官网说明官方文档如下Allows for customization of the application's {@link Environment} prior to the application context being refreshed.允许定制应用的上下文的应用环境优于应用的上下文之前被刷新。(意思就是在spring上下文构建之前可以设置一些系统配置)EnvironmentPostProcessor implementat原创 2020-09-09 10:48:01 · 4158 阅读 · 0 评论 -
SPRING、SPRING BOOT解析PROPERTIES、XML、YML、YAML文件的方法
一、解析PROPERTIES和XML这里使用了FileSystemResource,spring的Resource继承于InputStreamSource,也就是spring封装了InputStreamSource;可以从spring源码看到除了FileSystemResource还有其他的实现,比如可以不用绝对路径用ClassPath,对应的实现类就是ClassPathResource。/*** * 解析Properties 、xml * */ public static void lo原创 2020-09-09 09:05:42 · 748 阅读 · 0 评论 -
Spring Boot 2.+的默认连接池HikariCP详解
Spring Boot 2.+的默认连接池HikariCP详解一、Spring Boot 2.+默认连接池HikariCP如果是Spring Boot2.+,那么默认的连接池就是Hikaricp,不需要再另外导入包和配置,可以看到控制台启动信息HikariPool启动信息HikariDataSource我们在控制台看到了HikariPool-1 - Starting...HikariPool-1 - Start completedLocated MBe...原创 2020-08-31 17:18:57 · 1559 阅读 · 0 评论 -
GraphQL入门 GraphQL入门有这一篇就足够了
GraphQL入门有这一篇就足够了一、GraphQL是什么?关于GraphQL是什么,网上一搜一大堆。根据官网的解释就是一种用于 API 的查询语言。GraphQL 是由 Facebook 创造的用于描述复杂数据模型的一种查询语言。这里查询语言所指的并不是常规意义上 的类似 sql 语句的查询语言,而是一种用于前后端数据查询方式的规范。 官网(中文):https://graphql.cn/ 规范地址:http://spec.graphql.cn/ 引用官方文档的..原创 2020-08-17 23:33:21 · 621 阅读 · 1 评论 -
docker运行springboot项目 dockerfile方式
使用Docker部署Spring boot项目一、前提条件1.有一个Spring boot项目springboot-docker-test编译打包(mvn package)后在工程target目录下生成jar文件2. 一台装有Docker的Linux主机和一台Docker Registry(Harbor)二、用Docker打包镜像并发布1. 编写Dockerfile文件,创建文件名为Dockerfile的文本文件,内容如下:FROM java:8VOLUME /t..原创 2020-08-17 22:57:07 · 2091 阅读 · 0 评论 -
EasyCaptcha生成验证码
添加依赖<dependency> <groupId>com.github.whvcse</groupId> <artifactId>easy-captcha</artifactId> <version>1.6.2</version> </dependency>验证码使用流程:需要将验证码存入redis中,当...原创 2020-08-13 14:57:47 · 990 阅读 · 0 评论 -
图片上传 阿里云OSS及java应用上传下载图片实战
1、图片存储解决方案 项目中上传图片的需求有很多的,所以,我们需要 开发一个上传图片的服务,来提供服务。 开发一个图片上传服务,需要有存储的支持,那么我们的解决方案将以下几种: 1. 直接将图片保存到服务的硬盘 1. 优点:开发便捷,成本低 2. 缺点:扩容困难 2. 使用分布式文件系统进行存储 1. 优点:容易实现扩容 2. 缺点:开发复杂度稍大(尤其是开发复杂的功能) 3. 使用nfs做存储 1. 优点:开发较为便捷 ...原创 2020-08-12 20:36:42 · 1813 阅读 · 0 评论 -
Eclipse安装lombok插件及lombok插件介绍
Eclipse安装lombok插件1、下载lombok.jar,lombok.jar官方下载地址:https://projectlombok.org/download2、双击下载好的lombak.jar,安装步骤如下:2-1.关闭弹出的警告窗口,点击 Specify location..下载jar后可双击运行,没有反应。所以就采用最简单粗暴的方式:cmdjava -jar lombok.jar完美运行···继续安装2-2.选择eclipse的安...原创 2020-08-11 14:46:20 · 1960 阅读 · 0 评论 -
springBoot Actuator监控应用
监控管理Actuator监控应用Actuator是spring boot的一个附加功能,可帮助你在应用程序生产环境时监视和管理应用程序。可以使用HTTP的各种请求来监管,审计,收集应用的运行情况.特别对于微服务管理十分有意义.缺点:没有可视化界面。Maven依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-start原创 2020-08-10 14:17:55 · 322 阅读 · 0 评论 -
Spring Boot 内嵌 Jetty , Tomcat , Undertow容器
SpringBoot 内置了三种servlet 容器供大家选择,默认的是tomcat,说明它还是大众最多的选择。另外,也可以看出另外两种也还是有自己独有的优势。从另一方面来说,SpringBoot 提供的默认配置也不一定最实用,对于版本的使用和兼容,不一定很全,还是需要根据压测之后才可以确定。Spring Boot项目中的引入方式 :Spring Boot 内嵌 Jetty , Tomcat , Undertow , 默认是Tomcat若使用Undertow 修改pom.xml配置...原创 2020-08-10 14:09:47 · 1861 阅读 · 0 评论 -
springboot整合中间件之springBoot整合rabbitMq
RabbitMQ详解: AMQP:Advanced Message Queuing Protocol,一个统一提供统一消息服务的应用层标准高级消息队列协议; RabbitMQ概念: 虚拟主机:一个虚拟主机持有一组交换机、队列和绑定,使用虚拟主机来进行权限控制; 交换机:Exchange用于转发消息,但是不会存储,会发送到对应的队列,根据路由; 绑定:...原创 2020-07-31 17:44:38 · 503 阅读 · 0 评论 -
springboot学习之整合Thymeleaf
ThymeleafSpringBoot并不推荐使用jsp,但是支持一些模板引擎技术:以前大家用的比较多的是Freemarker,但是我们今天的主角是Thymeleaf!6.1.为什么是Thymeleaf?简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点: 动静结合:Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的..原创 2020-07-23 13:51:27 · 133 阅读 · 0 评论 -
springboot整合持久层JDBC mybaties 连接池
整合jdbc和事务spring中的jdbc连接和事务是配置中的重要一环,在SpringBoot中该如何处理呢?答案是不需要处理,我们只要找到SpringBoot提供的启动器即可:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency...原创 2020-07-23 13:38:55 · 219 阅读 · 0 评论 -
springboot实践之整合springMVC
虽然默认配置已经可以使用SpringMVC了,不过我们有时候需要进行自定义配置。5.1.1.修改端口查看SpringBoot的全局属性可知,端口通过以下方式配置:新建application.properties文件# 映射端口server.port=805.1.2.访问静态资源现在,我们的项目是一个jar工程,那么就没有webapp,我们的静态资源该放哪里呢?回顾我们看的自动配置源码,有一个叫做ResourceProperties的类,里面就定义了静态资源的默认查找路..原创 2020-07-23 13:30:12 · 302 阅读 · 0 评论 -
springboot介绍之自动配置原理
使用SpringBoot之后,一个整合了SpringMVC的WEB工程开发,变的无比简单,那些繁杂的配置都消失不见了,这是如何做到的?一切魔力的开始,都是从我们的main函数来的,所以我们再次来看下启动类:我们发现特别的地方有两个: 注解:@SpringBootApplication run方法:SpringApplication.run() 我们分别来研究这两个部分。4.1.了解@SpringBootApplication点击进入,查看源码:这里..原创 2020-07-23 13:20:38 · 105 阅读 · 0 评论 -
springboot介绍之SpringBoot的属性注入
属性注入@Value注解。这种方式虽然可行,但是不够强大,因为它只能注入基本类型值。在SpringBoot中,提供了一种新的属性注入方式,支持各种java基本数据类型及复杂类型的注入。1)我们新建一个类,用来进行属性注入:@ConfigurationProperties(prefix = "jdbc")public class JdbcProperties { private String url; private String driverClassName; ...原创 2020-07-23 13:02:44 · 172 阅读 · 0 评论 -
springboot整合缓存之redis
分布式Redis缓存什么是RedisRedis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方..原创 2020-07-08 09:19:57 · 154 阅读 · 0 评论 -
缓存应用(一)Ehcache使用介绍
为什么要使用缓存缓存的分类客户端缓存页面缓存浏览器缓存App客户端缓存网络缓存代理缓存CDN缓存服务器缓存数据库缓存平台缓存级缓存缓存最终的目的是为减轻服务端压力,减少网络传输请求基于Map集合实现本地缓存定义Map缓存工具类 @Component publicclassMapEhcaChe<K, V> { privateMap<K, V> ehcaCheMap= ...原创 2020-07-08 08:22:23 · 1593 阅读 · 0 评论 -
SpringBoot oauth2用法
一,生成私钥公钥打开命令窗口执行如下命令,便会在所在目录下生成dianmall.jks文件keytool -genkeypair -alias dianmall -keyalg RSA -keypass dianmall -keystore dianmall.jks -storepass dianmallKeytool 是一个java提供的证书管理工具-alias:密钥的别名-keyalg:使用的hash算法-keypass:密钥的访问密码-keystore:密钥库...原创 2020-06-23 11:28:18 · 568 阅读 · 0 评论