- 博客(26)
- 收藏
- 关注
原创 算法:反转链表(四种方法)
使第一个节点指向另一条链表的头节点,在更新新链表的头节点。思路:把就链表的数据全部移动到新链表。在使旧链表的第二个节点成为头节点。保存原链表第二个节点。
2025-10-17 11:06:04
306
原创 SpringBoot原理
本文摘要:Spring Boot配置优先级从高到低依次为命令行参数、系统属性、properties、yml和yaml文件。Bean管理支持五种作用域,默认单例模式可通过@Scope注解修改。第三方Bean建议使用@Configuration配置类集中管理。自动配置原理基于@SpringBootApplication注解,通过@EnableAutoConfiguration实现条件装配,结合@Conditional系列注解按需加载Bean。起步依赖利用Maven依赖传递简化依赖管理。
2025-09-17 08:00:00
1014
原创 SpringAOP
AOP(面向切面编程)是一种编程范式,通过将重复逻辑(通知)与特定方法(连接点)绑定,实现代码复用。核心概念包括:连接点(可被拦截的方法)、通知(共性功能)、切入点(匹配条件)和切面(通知+切入点)。Spring AOP提供五种通知类型:环绕、前置、后置、返回后和异常后通知,支持通过@PointCut抽取公共切入点表达式。通知执行顺序默认按切面类名排序,可通过@Order调整。切入点表达式支持通配符匹配方法签名,也可基于注解匹配。
2025-09-16 15:49:43
1156
原创 登录认证(JWT令牌)
本文介绍了Web开发中的会话技术,主要包括Cookie、Session和JWT令牌三种机制。会话是指浏览器与服务器之间的持续连接,可以包含多次请求和响应。JWT令牌由Header、Payload和Signature三部分组成,具有防篡改特性。文章详细讲解了JWT的生成、校验实现方法,并提供了Java代码示例。此外,还对比了过滤器(Filter)和拦截器(Interceptor)的区别,说明了两者的使用场景和实现方式,包括过滤器的生命周期方法和拦截器的三个核心方法(preHandle、postHandle、a
2025-09-16 15:20:23
715
原创 项目集成阿里云对象存储OSS上传文件
摘要:本文介绍了阿里云对象存储OSS(Object Storage Service)的使用方法。OSS是一款海量、安全、低成本、高可靠的云存储服务,支持存储文本、图片、音频和视频等文件。文章详细说明了准备工作,包括注册服务、配置AccessKey环境变量,以及通过SDK集成OSS到Java项目中。具体步骤包括引入依赖、编写上传代码、设置工具类和改造控制层方法。最后提供了文件上传的完整示例代码,帮助开发者快速实现OSS文件存储功能。
2025-09-16 14:48:25
626
原创 Spring事物管理
事务是一组不可分割的操作集合,要么全部成功,要么全部失败。Spring通过@Transactional注解控制事务,支持设置异常回滚类型(rollbackFor)和传播行为(propagation)。默认只有运行时异常会回滚,可通过rollbackFor指定其他异常类型。传播行为包括REQUIRED(默认)和REQUIRES_NEW(独立事务)等,用于处理事务方法间的调用关系。事务具有ACID特性:原子性、一致性、隔离性和持久性。使用时需注意不同传播行为的应用场景,如REQUIRES_NEW适合日志记录等需
2025-09-16 14:22:45
729
原创 java web 案例总结(2)
单表查询的SQL语句:select 字段列表 from 表名;那么要执行多表查询,只需要使用逗号分隔多张表即可,如: select 字段列表 from 表1, 表2;笛卡尔积:笛卡尔乘积是指在数学中,两个集合(A集合和B集合)的所有组合情况。在多表查询时,需要消除无效的笛卡尔积,只保留表关联部分的数据。分类连接查询内连接:相当于查询A、B交集部分数据外连接左外连接:查询左表所有数据(包括两张表交集部分数据)右外连接:查询右表所有数据(包括两张表交集部分数据)子查询内连接。
2025-08-24 22:58:27
666
原创 java Web知识点总结(1)
MyBatis是一款优秀的持久层框架,用于简化JDBC的开发。MyBatis本是 Apache的一个开源项目iBatis,2010年这个项目由apache迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。官网:https://mybatis.org/mybatis-3/zh/index.html。
2025-08-24 17:57:41
609
原创 项目部署 Docker基础入门及其使用
本文介绍了Docker的安装配置、基本使用和项目部署流程。主要内容包括:1)通过yum安装Docker并配置阿里云镜像源;2)常用Docker命令(镜像/容器管理、日志查看等);3)使用Docker部署MySQL数据库;4)数据卷管理实现容器数据持久化;5)Dockerfile自定义镜像构建;6)容器网络配置;7)使用Docker Compose编排多容器应用部署。文章详细讲解了端口映射、环境变量设置、数据卷挂载等关键配置,并提供了MySQL、Nginx等常见服务的部署示例,适合Docker初学者快速掌握容
2025-08-21 19:05:53
978
原创 基于Mybatis-Plus实现分页操作的相关配置
MyBatis-Plus分页插件使用指南:从3.5.9版本开始,PaginationInnerInterceptor需要单独引入mybatis-plus-jsqlparser依赖。配置步骤包括添加Maven依赖,创建配置类并初始化分页插件,设置数据库类型(如MySQL)和最大分页限制(如1000条)。通过MybatisPlusInterceptor添加分页拦截器即可实现分页功能。具体使用时可调用分页API实现数据分页查询。
2025-08-20 10:41:24
195
原创 Mybatis-Plus入门及其使用
Mybatis-Plus是基于MyBatis的增强工具,简化开发并提高效率。主要特点包括:1)通过BaseMapper接口自动实现单表CRUD;2)使用@TableName、@TableField等注解简化实体类与表映射;3)提供条件构造器Wrapper和LambdaWrapper实现复杂查询;4)包含通用IService接口封装常用业务方法。配置支持驼峰命名、全局ID策略等,通过继承BaseMapper和ServiceImpl可快速实现数据访问层。官网地址:https://mybatis.plus/
2025-08-20 10:36:05
794
原创 IO流(文件输入输出问题)
⑤将集合中剩余的员工姓名通过BufferedWriter再一次写入到stu.txt文件中。①创建一个stu.txt,在文件中填入一些学生名字,每个学生名字单独一行。④根据该索引从集合中获取一个员工姓名,并将该员工从集合中移除掉。②在主方法中读取文件内容,将学生信息保存到集合中。③生成一个随机数,作为集合元素的索引。设计一个程序,模拟随机点名器。
2025-06-05 20:14:27
164
原创 匿名内部类 和 接口中默认方法的使用
④定义工人类要有成员方法:挑选苹果Apple pickApple(CompareAble,Apple a1,Apple a2)。⑤测试类:创建Worker对象、创建两个Apple对象,一个Apple(5,"青色"),一个Apple(3,"红色");/*小明家是果农,因为针对不同品相的苹果收购价格不同,现需要实现苹果按照品相分级,需要工人挑苹果,①定义苹果类需包含属性:大小,颜色;②定义接口CompareAble包含定义默认方法compare,挑选较大苹果。需实现默认挑选大的苹果,打印苹果信息;
2025-05-11 21:30:21
224
1
原创 双色球(用户录入双色球球号,随机中奖号码,判断中奖情况)
分析:用户录入双色球球号,双色球号有范围限制,红球1-33,蓝球1-16一组双色球由6个红球和一个篮球组成。三个问题用3个方法解决。//使用for循环对每个球号也就是数组赋值i++){//死循环用来判断输入的球号是否超过范围或者是否重复输入//输入最后一个蓝色的号码System.out.println("请输入最后一个蓝色的号码,蓝色球号在1-16中");System.out.println("你此次输入号码不在1-16之内,请重修输入");continue;
2025-04-21 15:14:56
1001
原创 抢红包(一个红包只能抢一次)数组随机问题
方法一:写个for循环控制抽奖5次,每次抽奖, 都从数组中随机找出-个金额,如果该金额不是0, 则代表抽中,接着用0替换该位置处的金额,然后继续下一个粉丝的抽奖;如果抽中的金额发现是0,代表该位置处的红包之前被别人抽走了, 则从新从数组中随机找出一个金额,继续判断!直至抽中的金额不是0!请模拟粉丝来抽奖,按照先来先得随机抽取,抽完即止,注意:一个红包只能被抽一次, 先抽或后抽哪一个红包是随机的,示例如下(不一定是下面的顺序)方法二:先把数组里面的5个金额打乱顺序打乱后的顺序就认为是中奖顺序;
2025-04-19 19:30:58
149
原创 求两数中最大公约数
② 改进任务① 中方法的代码,如果接收的任何一个数字为0,方法返回0,并提示:“输入的数字不能为0”重点****:两个数的公约数不可能大于最小数,所以使用for循环使循环次数不超过两个数中最小的那个数,它们的公约数有:1, 2, 3, 6,其中最大的是6,所以12和18的最大公约数是6。① 定义一个求2个数最大公约数的方法,返回值为最大公约数。12的公约数:1, 2, 3, 4, 6, 12。18的公约数:1, 2, 3, 6, 9, 18。
2025-04-19 16:48:50
205
原创 随机数生成数字,小写字母,大写字母
/使用随机生成的3个随机数判断应该是数字,小写字母还是大写字母。//小写字母是char类型在生成随机数时强制转换为int。//随机生成数字,小写字母,大写字母。//生成0,1,2三个随机数。//在生产数字随机数。
2025-04-18 20:51:02
229
原创 买机票案例
优惠方案如下:5-10月为旺季,头等舱9折,经济舱8.5折;11月到来年4月为淡季,用户购买机票时,机票原价会按照淡季、旺季,头等舱还是经济舱的情况进行相应的优惠,头等舱7折,经济舱6.5折A请开发程序计算出用户当前机票的优惠价。思路:使用switch判断头等舱还是经济舱。
2025-04-18 20:24:44
260
原创 for 循环的一个简单例子
*有五双鞋子,鞋码分别是41、42、43、44、45,小明的脚穿42和43的鞋子都合适,请用程序判断出不符合小明脚码数的鞋子有几双。
2025-04-17 18:27:15
198
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅