SpringBoot
文章平均质量分 81
Spring Boot 去除了大量的 xml 配置文件,简化了复杂的依赖管理,配合各种 starter 使用,基本上可以做到自动化配置。Spring 可以做的事情,现在用 Spring boot 都可以做。
花伤情犹在
我的花会开的 我的生活也会慢慢拥抱我的.
展开
-
SpringBoot2.x 整合SpringDoc&Javadoc&knife4j实现无注解零入侵式接口文档
SpringBoot2整合SpringDoc、Javadoc和Knife4j可以实现无注解零入侵的API文档生成和展示,提供更友好和强大的文档界面及功能。原创 2024-03-23 16:14:39 · 1735 阅读 · 6 评论 -
Docker 安装 Skywalking以及UI界面
本文详细阐述了如何利用Docker快速安装并运行Apache Skywalking,以实现对分布式系统的高效性能监控与可视化管理。首先,通过执行Docker pull命令从官方仓库获取Skywalking的最新稳定版镜像,确保获得最新的功能与优化。接下来,我们将详细介绍配置Docker容器的具体步骤,包括设置必要的环境变量、端口映射以及数据卷挂载,以便持久化存储Skywalking收集的监控数据和日志文件。原创 2024-03-17 10:49:06 · 3398 阅读 · 0 评论 -
Docker 安装 LogStash
Logstash,作为Elastic Stack家族中的核心成员之一,是一个功能强大的开源数据收集引擎。它专长于从各种来源动态地获取、解析、转换和丰富数据,并将这些结构化或非结构化的数据高效地传输到诸如Elasticsearch等存储系统中进行集中分析和可视化展现。在本文中,我们将详细介绍如何借助Docker容器技术快速安装配置Logstash,以实现日志及各类事件数据的无缝集成与实时处理。原创 2024-03-17 10:19:22 · 1166 阅读 · 0 评论 -
从Spring Boot应用上下文获取Bean定义及理解其来源
Spring Boot应用启动时,通过SpringApplication.run()获取的ConfigurableApplicationContext中管理所有Bean。BeanDefinition存储Bean元信息如类名、作用域等,但不含@Bean注解位置。追溯来源,可借助调试模式查看堆栈跟踪,或自定义BeanFactoryPostProcessor遍历注册表记录详情。虽无法直接从BeanDefinition得知@Bean所在,结合多种方法能有效探析和追踪Bean创建过程,满足实际开发需求。原创 2024-02-28 15:49:30 · 811 阅读 · 1 评论 -
AopContext.currentProxy() 获取代理对象
在Spring AOP在不同类中,非切面方法A调用切面方法B,切面生效。在不同类中,切面方法A调用非切面方法B,切面生效。在同一个类中,切面方法A调用非切面方法B,切面具有传播性,切面生效。在同一个类中,非切面方法A调用同一类中的另一个切面方法C时,切面失效。其实这个问题和有些场景比如:加上注解事物却失效,都是一个道理,原创 2024-02-01 17:48:16 · 2090 阅读 · 0 评论 -
Mapstruct 搭配MP分页食用 - 参考自ballcat项目
通过 MyBatis Plus 的 IPage#convert 结合 MapStruct 的方法引用,可以实现快速的 VO 对象转换。利用 IPage#convert,对每个记录应用 MapStruct 生成的映射方法,将实体对象转换为 VO 对象,提高代码的可维护性和可读性。这种组合使用简化了分页查询结果的转换过程,使开发者能够专注于业务逻辑,同时享受到 MapStruct 带来的类型安全和自动生成映射代码的便利。原创 2023-11-15 19:18:59 · 374 阅读 · 0 评论 -
SpringBoot 实现EMQ设备的上下线告警
在使用EMQ X 4.4.10的开源版本时,遇到了一个挑战:需要实现设备的上下线状态监控,但该版本并未内置此功能,而仅企业版提供了这一模块。这迫使我探索了另外的解决方案。首先,我对EMQ X进行了一些自定义配置。通过修改acl.config文件,我添加了规则,允许订阅$SYS/brokers/+/clients/#主题的所有客户端。这一步骤为后续监控提供了必要的权限。接着,我创建了一个基于Spring Boot的应用程序,与EMQ X代理建立连接。在应用程序中,我实现了一个监听器,专门用于订阅$SY原创 2023-10-10 16:00:32 · 1299 阅读 · 4 评论 -
SpringBoot轻松实现项目集成Knife4j接口文档
Knife4j 官网Knife4j是一款基于Swagger生成API文档的增强工具,它简化了开发者构建和管理RESTful API文档的过程。通过自动扫描项目中的接口信息,Knife4j能够生成详细、易读的API文档,无需手动编写和维护。它提供交互式的接口调试页面,方便验证接口正确性,同时支持接口聚合和分组,便于管理大型项目中的接口。此外,Knife4j还支持Markdown文档,以及定制化配置选项,使得API文档更加美观、灵活和易于展示。原创 2023-09-19 17:01:15 · 793 阅读 · 0 评论 -
Docker安装EMQX教程
EMQX 是一款大规模可弹性伸缩的云原生分布式物联网 MQTT 消息服务器。作为全球最具扩展性的 MQTT 消息服务器,EMQX 提供了高效可靠海量物联网设备连接,能够高性能实时移动与处理消息和事件流数据,帮助您快速构建关键业务的物联网平台与应用。原创 2022-12-25 18:49:53 · 2439 阅读 · 0 评论 -
反射获取ConstraintViolationException中的PropertyPath属性路径最后一个节点
如果只想从路径节点(nodeList)中只拿到属性名称,我们只需要取出最后一位节点即可,而nodeList这个路径节点集合属性属于私有变量,所以需要采取反射暴力获取到nodeList这个属性,然后去最后一位即可。多个路径节点源码中是使用.来分割的,PROPERTY_PATH_SEPARATOR这个常量其实就一个点专门用来分割多个路径节点。Ctrl+Alt+B查看Path的实现类是PathImpl。查看toString()方法,发现调用asString()方法获取长度减去1即可获取到最后一位节点,最后调用。原创 2022-10-24 20:23:20 · 626 阅读 · 1 评论 -
SpringBoot 监听Redis key过期回调
失效事件可应对某些场景例如:处理订单过期自动取消、用户会员到期…默认是没有开启键过期监听功能的,需要手动在配置文件中修改。设置值及其过期时间。Java代码实现监听回调。命令将会替换旧的值。原创 2022-10-24 20:09:07 · 1913 阅读 · 0 评论 -
解决SpringBoot引用别的模块无法注入的问题
多模块开发的时候,A模块引入B模块,却无法注入B模块中被。容器中的注解,都是无法在A模块中注入进来。等,只要是你能想到能将类放置在。属性指定包的扫描路径。属性指定包的扫描路径。原创 2022-08-27 23:31:54 · 2729 阅读 · 2 评论 -
SpringBoot整合Shiro+JWT实现认证及权限校验
本文讲解如何使用`SpringBoot`整合`Shiro`框架来实现认证及权限校验,但如今的互联网已经成为前后端分离的时代,所以本文在使用`SpringBoot`整合`Shiro`框架的时候会联合`JWT`一起搭配使用。原创 2022-05-15 21:54:45 · 4389 阅读 · 1 评论 -
SpringBoot整合Hibernate自定义数据验证及多种方式异常处理
本文讲解一下使用Hibernate框架来去验证字段属性,使用相应的注解即可实现字段合法性校验,以及如何自定义注解进行校验,包括出现异常的几种处理方式。原创 2022-04-22 15:19:32 · 1204 阅读 · 1 评论 -
SpringBoot整合MongoDB教程
本文介绍如何使用SpringBoot整合MongoDB数据库,然后使用小Demo演示Java代码对MongoDB进行操作。原创 2022-03-16 17:33:12 · 1741 阅读 · 1 评论 -
SpringBoot整合PageHelper实现分页查询
前言本文介绍的是MyBatis 分页插件 PageHelper,如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页。官方文档:https://pagehelper.github.io/项目地址:https://github.com/pagehelper/Mybatis-PageHelper使用方法导入依赖在中央仓库sonatype中搜索 pageHelper,找到 pagehelper-spring-boot-starter原创 2022-03-02 17:09:42 · 1486 阅读 · 1 评论 -
SpringBoot+Spring Data JPA整合H2数据库
H2数据库是一个开源的关系型数据库。H2采用java语言编写,不受平台的限制,同时支持网络版和嵌入式版本,有比较好的兼容性,支持相当标准的sql标准原创 2022-02-16 17:21:34 · 1228 阅读 · 1 评论 -
SpringBoot整合Spring Data JPA
Spring Data JPA 是更大的 Spring Data 家族的一部分,可以轻松实现基于 JPA 的存储库。该模块处理对基于 JPA 的数据访问层的增强支持。它使构建使用数据访问技术的 Spring 驱动的应用程序变得更加容易。原创 2022-02-16 16:50:03 · 1367 阅读 · 0 评论 -
Docker部署SpringBoot应用
前言部署时可能会需要依赖于node.js、Redis、RabbitMQ、MySQL等,这些服务部署时所需要的函数库、依赖项各不相同,甚至会有冲突。给部署带来了极大的困难。而Docker确巧妙的解决了这些问题,Docker为了解决依赖的兼容问题的,采用了两个手段:将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包将每个应用放到一个隔离容器去运行,避免互相干扰本文将讲解如何使用Docker来部署我们平时用SpringBoot开发的项目:Dockerfile什么是 Do原创 2021-11-21 17:36:20 · 5845 阅读 · 3 评论 -
SpringBoot整合Redis入门之缓存数据
前言Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。为什么要使用Redis呢?举个例子,假如系统中有2千万用户信息,用户信息基本固定,一旦录入很少变动,那么你每次加载所有用户信息时,如果都要请求数据库,数据库编译并执行你的查询语句,这样效率就会低下很多,针对这种信息不经常变动并且数据量。原创 2021-11-16 12:14:10 · 1259 阅读 · 1 评论 -
Spring Boot 2.x 实现文件上传与下载
前言文件上传的功能是我们在网页中最为常见的功能,比如网盘文件上传,上传账号图像,Excel文件数据的导入功能等等,都需要通过IO流的方式进行上传和下载文件,本文讲解几种基于SpringBoot 2.x来实现文件上传与下载的操作。配置文件上传大小限制spring.servlet.multipart.max-file-size=10GBspring.servlet.multipart.max-request-size=10GB创建文件上传页面在resources目录下的templates中创建一个原创 2021-11-07 23:05:34 · 1000 阅读 · 2 评论 -
SpringBoot整合Mail发送邮件
前言我们在网站上注册账号的时候一般需要获取验证码,而这个验证码一般发送在你的手机号上还有的是发送在你的邮箱中,注册,账号密码…都需要用到验证,今天就演示一下如何用SpringBoot整合Mail发送邮箱。Maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></原创 2021-11-06 14:14:45 · 1789 阅读 · 0 评论 -
SpringBoot设置文件虚拟路径映射
前言我们在写SpringBoot项目的时候,很大几率会遇到文件上传与下载功能。我们一般访问服务器的资源都是resources下的公开资源,配置文件中一般会指定到类路径下的static文件夹下:spring.resources.static-locations=classpath:/static/,或者说不配置默认指定在类路径下:classpath:/,例如:# 应用服务 WEB 访问端口server.port=8080# 项目资源路径:必须加static作为前缀才能访问 默认为/**spring原创 2021-11-06 12:14:50 · 9571 阅读 · 15 评论 -
MyBatis进阶----Mybatis Plus 增删改查
前言在持久层框架中 mybatis 应用比较多,而且比重在逐渐的上升。通常项目的组合是 SSM。mybatis 之所以火,是因为他的灵活,使用方便,优化比较容易。mybatis 的直接执行 sql 语句, sql 语句是写在 xml 文件中,使用 mybatis 需要多个 xml 配置文件,在一定程度上比较繁琐。一般数据库的操作都要涉及到CURD。mybatis-plus 是在 mybatis 上的增强,减少了 xml 的配置,几乎不用编写 xml就可以做到单表的 CURD,很是方便,极大提供了开发原创 2021-09-17 15:12:35 · 5401 阅读 · 13 评论 -
SpringBoot入门----第一个SpringBoot2.0项目
Spring Boot 简介Spring Boot 是 Spring 家族中的一个全新的框架,它用来简化 Spring 应用程序的创建和开发过程,也可以说 Spring Boot 能简化我们之前采用 SpringMVC + Spring + MyBatis 框架进行开发的过程。在以往我们采用 SpringMVC + Spring + MyBatis 框架进行开发的时候,搭建和整合三大框架,我们需要做很多工作,比如配置 web.xml,配置 Spring,配置 MyBatis,并将它们整合在一起等,而 S原创 2021-09-16 21:29:12 · 1271 阅读 · 7 评论