JavaWeb
文章平均质量分 52
javaweb
igxia
专注Java领域深耕,发誓要做架构师!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring Boot 2.x 与 Spring Boot 3.x 的核心区别详解
Spring Boot 3.0对比2.x升级指南 Spring Boot 3.0要求Java 17+,主要升级包括: 技术栈:Spring 6.x、Jakarta EE 9+命名空间(javax→jakarta)、Tomcat 10+/Jetty 11 新特性:原生支持GraalVM镜像(启动速度提升80%)、深度集成JDK 17特性(Record类等) 破坏性变更:Servlet/JPA包路径变更、安全配置重构、部分属性废弃 迁移建议:逐步升级(2.7→3.0→3.2)、全局替换javax为jakarta原创 2025-05-29 11:16:53 · 1091 阅读 · 0 评论 -
RESTful风格请求方式详解与示例
摘要:本文以图书管理系统为例,详细介绍了RESTful API的五种请求方式(GET/POST/PUT/PATCH/DELETE)的具体实现。通过Spring Boot框架展示了每种请求的控制器代码示例,包括URI设计、请求参数处理和响应状态码设置。重点说明了GET查询(全部/单个)、POST新增、PUT全量更新、PATCH局部更新和DELETE删除的典型应用场景及注意事项,并提供了请求示例和响应格式。文章包含完整的环境准备步骤(依赖引入、实体类定义)和业务逻辑实现,可作为RESTful API开发的实践参原创 2025-05-29 10:41:34 · 736 阅读 · 0 评论 -
详解 Spring 中的 @Resource 与 @Autowired:区别与应用场景
摘要:本文深入对比了Spring框架中@Resource和@Autowired两个依赖注入注解的核心区别。@Autowired是Spring原生注解,默认按类型匹配,需配合@Qualifier处理多实现类场景;@Resource是Java标准注解,默认按名称匹配并回退到类型匹配。二者在来源、注入逻辑、灵活性等方面存在显著差异:@Autowired支持构造函数注入和可选依赖,而@Resource更适用于名称明确匹配的场景。建议在纯Spring项目中优先使用@Autowired,需要兼容性时选用@Resourc原创 2025-05-28 14:45:02 · 1470 阅读 · 0 评论 -
Java实现定时任务
本文介绍了Java中四种定时任务实现方式:1)Timer和TimerTask,简单但单线程执行易阻塞;2)ScheduledExecutorService,基于线程池支持多任务并发;3)Spring的@Scheduled注解,配置简便但需Spring框架支持;4)Quartz框架,功能强大适合复杂调度场景但需额外依赖。每种方式各有特点,可根据项目需求选择合适的定时任务方案。原创 2025-05-27 15:25:03 · 293 阅读 · 0 评论 -
若依框架(6)快速修改若依框架的包名等
若依框架原本都是以ruoyi-xxx 等命名的,但是在我们自己编写项目时,有需要去修改这些命名,但是由于框架内部存在大量命名,手动命名就非常的繁琐,因此我们在这介绍一个工具去帮助我们快速的修改命名若依原本的目录结构和命名如下。原创 2025-03-12 20:29:06 · 2289 阅读 · 0 评论 -
若依框架(5)定时任务
若依为定时任务功能提供方便友好的web界面,实现动态管理定时任务。我们平常写定时任务,都是通过硬编码的形式去编写定时任务的。如下面代码每间隔5s执行一次打印@component")System.out.println("定时任务开始执行: " + new Date());通过硬编码的形式写的定时任务虽然没有问题,但是会有不好维护的情况,每一次需求变更,都需要找到代码位置去进行修改。这时我们就可以通过ruoyi的功能去实现动态定时任务。原创 2025-03-11 21:42:05 · 1130 阅读 · 0 评论 -
若依框架(4)若依权限控制--框架控制
若依系统内置了强大的权限控制系统,这个权限控制系统,主要是为了,让不同角色的用户,对各个模块有不同的访问权限例如图书管理系统中,普通管理员能够访问,“图书管理”页面,而超级管理员才能够访问”用户管理“页面。原创 2025-03-11 21:27:17 · 1170 阅读 · 0 评论 -
Redis设置密码(单次设置和永久设置)
即可完成单词设置redis密码,这种方式设置的密码,在你关闭redis-server后就会消失,下次再使用需要重新设置。去掉requirepass前面的#,然后将后面的foobared改成自己想改成的密码,然后保存退出即可完成永久修改。先运行redis-server.exe 再运行 redis-cli.exe,先后顺序不能乱!在redis-cli.exe的窗口里面执行,这里的123456是任意你想设置的密码。找到redis解压文件中的redis.windows.conf,双击用编辑器打开。原创 2025-02-07 21:25:50 · 1044 阅读 · 0 评论 -
如何使用Java来发送qq邮箱邮件
通过上述代码,只能发送一个简单的字符,但是qq邮箱也是支持html解析的,我们可以在其中设置html代码,让我们的邮件“精致”一点,只需要更改emails.setMsg()中的参数即可。(如果大家项目没有引入Redis,也可以用session代替,因为我这里是一整个业务流程,后续还需要对比验证码,所以需要用到换成,大家测试的话也可以去掉)点击开启后会跳转到另一个页面,同样找到“POP3/IMAP/SMTP/Exchange/CardDAV 服务”,然后点击生成授权码。进入设置页面后,再点击账号。原创 2024-03-15 10:03:24 · 3171 阅读 · 0 评论 -
‘Basic‘ attribute type should not be ‘Persistence Entity‘
解决实体类中编写另一个实体类报错原创 2024-03-10 13:28:29 · 996 阅读 · 0 评论 -
nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379
上面截取的是idea控制台启动报错的信息,我截取了部分片段,即每段报错信息的开头,通过报错信息,我们能很直观的看到是因为无法连接Redis而抛出的异常。在项目启动时,我们需要Redis的配置和配置文件里面的配置保持一直。或者在Redis中设置与后端配置文件相同的密码。但是我的Redis是用的本地的Redis,而且我的Redis已经开启,那为什么会报错呢。但是我的Redis服务端并没有设置密码。通过以下命令查看Redis的密码。我去看了一下配置文件,我的配置文件里面是给Redis设置了密码的。原创 2023-06-13 10:19:13 · 3240 阅读 · 2 评论 -
java项目部署-将jar包上传至云服务器并运行-nohup的使用
大家应该都是到在windows系统怎么运行一个jar包,就是通过java -jar xxx.jar的命令,在Linux系统上也同样可以通过这样的形式进行运行jar包,但是不推荐。使用 java -jar xxx.jar 命令直接运行jar包其实也不算是优缺点,这缺点更像是java -jar的特性。java -jar命令直接运行jar包,必须保持命令行窗口开启状态,一旦命令行窗口关闭,java进程也会同时关闭。用上述命令运行的jar包,并不会随着命令行的关闭而关闭。没报错就是运行成功啦!原创 2023-06-02 14:30:38 · 5303 阅读 · 0 评论 -
SpringCloud-Eureka注册中心
- 服务消费者该如何获取提供者的地址信息? - 服务提供者启动时向eureka注册自己的信息 - eureka保存这些信息 - 消费者根据服务名称向eureka拉去提供者信息- 如果有多个服务提供者,消费者该如何选择? - 服务消费者利用负载均衡算法,从服务列表中挑选一个- 消费者如何得知服务提供者的健康状态? - 服务提供者会每隔30s向EurekaServer发送心跳请求,报告健康状态 - eureka会更新记录服务列表信息,心跳不正常会被删除 - 消费者就可以拉取到最原创 2023-03-15 19:03:48 · 142 阅读 · 0 评论 -
java: 无法访问org.springframework.boot.SpringApplication解决办法
此报错的绝大部分情况为pom.xml文件中出现错误,一般都是在创建SpringBoot项目的时候,选择了最新的SpringBoot版本,一般最新版本总会伴随着问题,我们只需要将pom.xml文件中的SpringBoot版本更换为老版本即可解决此问题。将此处改为自己较为常用的老版本。报错信息类似下面代码。原创 2023-02-18 13:13:16 · 5567 阅读 · 1 评论 -
Maven的安装与配置环境变量
返回到settings.xml文件,在刚才的位置新增一行代码,路径是刚才创建的maven_repository文件夹的路径。3、将压缩文件解压到自己想要的目录(注:目录不能带中文,如果带中文,会导致一些错误)如果不修改着一些的话,在做项目的时候刷新maven下载新坐标的时候会很慢。在settings.xml文件的profiles标签中添加以下代码。2、新建系统变量 MAVEN_HOME,并指向刚才解压的文件。点击新建,然后输入%MAVEN_HOME%\bin。2、找到需要下载的文件。然后一连串的点击确定。原创 2023-02-18 12:54:26 · 6650 阅读 · 0 评论 -
springDataRedis快速入门
SpringDataRedis中提供了RedisTemplate工具类,其中封装了各种对Redis的操作。SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模块就叫做SpringDataRedis,官网地址:https://spring.io/projects/spring-data-redis。3.注入RedisTemplate。原创 2022-12-21 20:30:09 · 454 阅读 · 2 评论 -
Redis的Jedis连接池
Jedis本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,因此我们推荐大家使用Jedis连接池代替Jedis的直连方式。原创 2022-12-21 20:28:46 · 413 阅读 · 1 评论 -
数据库优化-缓存穿透
缓存穿透是指客户端请求的数据在缓存和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。常见的解决方案有两种。原创 2022-12-21 19:26:27 · 192 阅读 · 0 评论 -
数据库优化-redis缓存更新的三种策略
该策略不用自己维护,利用redis的内存淘汰机制,当内存不足时自动淘汰部分数据。下次查询时自动更新缓存。一致性:差维护成本:无。原创 2022-12-21 18:49:17 · 2402 阅读 · 1 评论 -
MyBatisPlus代码生成器(CodeGenerator)
代码生成器是mybatisplus提供的一项功能,能直接根据一个数据库里面的所以表进行直接生成相应的entity、mapper、service、serviceImpl、controller类。原创 2022-11-19 22:28:47 · 4169 阅读 · 2 评论 -
vue+springboot前后端分离项目跨域问题一行代码解决
例如:前端设置端口为8001,后端设置端口为8002,这时想要在前端向后端发送ajax等请求则会报错。在controller类上加一个@CrossOrigin注解该问题即可解决。原创 2022-11-19 13:04:45 · 283 阅读 · 0 评论 -
“舔狗机器人”
该网址返回的为JSON字符串格式,后端操控JSON数据需要先引入相关JSON包,我这里使用的为阿里的fastjson。”舔狗语录的“数据量为983条,”深情文案“的为104条,如有需要麻烦点个关注私信我呀。我这里采用的为springboot + mybatisplus编写的,项目结构如下。因为机器人运行是不占用端口的,这里后端就可以不用担心端口被占用了。如需要代码资料,麻烦点个小小的赞和关注然后私信我呀❤。我这里采用自己编写后端代码和直接调用开放地址实现。(3)机器人调用后端接口。原创 2022-10-24 12:49:31 · 965 阅读 · 1 评论 -
如何搭建自己的qq机器人(mirai)- 事件监听
注:friend收到消息时getSender()方法,如果group收到消息代码中也写成g.getSender(),则会变成在群里收到”你好“指令,然后机器人会通过私聊发送”你好“。我这里Event类因为懒加上是演示,就写在和Plugin同一个包了,而且都实现的静态方法(懒得创建对象,嘿嘿)。在之前监听两类消息的下面加上刚才编写的方法就行了,我这里时同一个包中的静态方法就直接写了,其他情况还是创建对象,对象调用方法。到这里,一个基础的机器人就搭建完毕了,想添加其他功能,就可以按照正常编写步骤来了。原创 2022-10-24 11:47:24 · 2806 阅读 · 0 评论 -
乐观锁初级解释
4、使用乐观锁机制在修改前必须先获取到对应数据的version方可正常进行。2、实体类中添加对应字段,并设定当前字段为逻辑删除标记字段。3、配置乐观锁拦截器实现锁机制对应的动态SQL语句拼装。//先查询数据,获取到version数据。1、数据库表中添加锁标记字段(version)业务并发现象带来的问题:秒杀。//执行数据修改操作。原创 2022-10-12 22:38:11 · 195 阅读 · 1 评论 -
DQL编程控制
/查询条件位 age小于18的。//查询条件位 age小于18的。exist:设置属性再数据库表中是否存在,默认为true。select:设置属性是否参与查询,此属性与select()映射配置不冲突。// //方法二:lambda格式按条件查询。//方法三:lambda格式按条件查询。作用:设置当前属性对应的数据库表中的字段关系。作用:设置当前属性对应的数据库表中的字段关系。作用:设置当前属性对应的数据库表中的字段关系。作用:设置当前属性对应的数据库表中的字段关系。//方法一:按条件查询。原创 2022-10-12 22:36:23 · 367 阅读 · 0 评论 -
mybatis plus 分页查询
System.out.println("当前页码值:" + page.getCurrent());System.out.println("一共多少条数据:" + page.getTotal());System.out.println("一共多少页:" + page.getPages());System.out.println("数据:" + page.getRecords());//1.定义MP拦截器。//2.添加具体拦截器。# 开启mp的日志(输出到控制台)开启日志(查看调用sql语句)原创 2022-10-12 22:28:31 · 416 阅读 · 0 评论 -
标准数据层开发
Lombok,一个Java类库,提供一组注解,简化POJO实体类开发。标准数据层CURD功能。标准数据层CRUD功能。原创 2022-10-12 22:27:14 · 234 阅读 · 0 评论 -
MyBatis Plus(简介)
MyBatis Plus 是基于MyBatis框架基础上开发的增强型工具,旨在简化开发,提高效率。MyBatisPlus是基于MyaBatis框架基础上开发的增强型工具,旨在简化开发,提高效率。强大的CRUD操作:内置通用Mapper,少量配置即可实现单表CRUD操作。基于SpringBoot使用MybatisPlus。无入侵:只做增强不做改变,不会对现有工程产生影响。支持Lambda:编写查询条件无序担心字段错误。基于MyBatis使用MyBatisPlus。基于Spring使用MyBatisPlus。原创 2022-10-12 22:26:16 · 378 阅读 · 0 评论 -
数据库连接池
释放空闲时间超过最大空闲时间的数据库来避免因为没有释放数据库连接而引用起的数据库连接遗漏。数据库连接词是个容器,负责分配、管理数据库连接(Connection)官方(SUN)提供的数据库连接池标准接口,由第三方组织实现此接口。它允许应用程序使用一个现有的数据库连接,而不是再重新建立一个。功能强大,性能优秀,是Java语言最好的数据库连接池之一。Druid连接池时阿里巴巴开源的数据库连接池项目。标准接口:DataSource。4、获取数据库连接池对象。Druid(德鲁伊)原创 2022-10-10 16:20:13 · 148 阅读 · 0 评论 -
JDBC API详情
1、在获取PreparedStatement对象时,将sql语句发送给mysql服务器进行检查,编译(这些步骤很耗时)ResultSet stmt.executeQuery(sql):执行DQL语句,返回ResultSet对象。PreparedStatement对象:setXxx(参数1, 参数2);ResultSet executeQuery(sql):执行DQL语句。int executeUpdate(sql):执行DML,DDL语句。游标向下移动一行,并判断改行是否有数据:next()原创 2022-10-10 16:19:26 · 199 阅读 · 0 评论 -
连接数据库
数据库连接原创 2022-10-10 16:18:45 · 99 阅读 · 0 评论 -
JDBC使用注意事项
mysql8.0版本以上和之前的使用有所不同原创 2022-10-10 16:17:27 · 218 阅读 · 0 评论
分享