自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 Laravel4.x核心特性全解析

Laravel 4.x是2013年发布的重要版本,为框架奠定了核心基础。主要特性包括:依赖注入容器实现自动解析;增强的RESTful路由系统;Eloquent ORM支持多种关联关系;Artisan命令行工具提供脚手架功能;Blade模板引擎引入布局继承;队列系统支持异步任务处理;事件监听机制;PHPUnit测试集成;Composer包管理优化;以及CSRF保护等安全增强。该版本还包含数据库迁移、哈希加密等实用功能。虽然Laravel 4.x已在2015年停止维护,但其引入的核心概念仍深刻影响着后续版本的发

2026-03-31 15:39:26 333

原创 Laravel5.x版本特性全解析

Laravel 5.x系列版本(5.0-5.8)持续优化框架功能,主要包括:路由缓存(5.0)、LTS长期支持(5.1)、API路由(5.2)、通知系统(5.3)、Markdown邮件(5.4)、自动包发现(5.5)、日志重构(5.6)和授权策略改进(5.7/5.8)。各版本还优化了Eloquent模型、中间件、Blade组件等功能,并提升性能和测试能力。建议根据项目需求选择特定子版本,并参考官方文档规划升级路径。

2026-03-30 23:11:55 359

原创 Laravel6.x核心特性全解析

Laravel 6.x是2019年发布的重要版本,引入多项改进:采用语义化版本控制规范;将前端脚手架分离为独立包laravel/ui;新增任务中间件支持队列任务;引入惰性集合处理大数据集;改进授权响应机制;增强Eloquent子查询功能。其他优化包括路由绑定、事件系统、错误页面和Composer性能提升。这些改进提升了框架的模块化、性能和开发体验,建议参考官方文档进行升级和迁移。

2026-03-30 22:40:21 388

原创 Laravel7.x新特性全面解析

Laravel 7.x 引入了多项重要改进:优化路由模型绑定实现自动注入Eloquent模型;增强自定义验证器功能;改进邮件系统支持Markdown模板和通知类;新增HTTP客户端封装和CORS中间件;提供查询时类型转换和基于类的模型工厂;增强Blade组件功能。这些更新显著提升了开发效率和代码质量,使Laravel框架更加强大易用。

2026-03-30 20:42:55 303

原创 Laravel8.x核心特性全解析

Laravel 8.x是2020年发布的重要版本,引入了多项创新特性。主要更新包括:Jetstream应用程序脚手架工具,提供现代化认证和用户管理;重构的模型工厂类使代码更清晰;迁移压缩功能优化数据库性能;新增任务批处理功能便于队列管理;动态Blade组件增强视图灵活性。其他改进涵盖路由缓存、时间测试助手、速率限制增强等。该版本整合了Tailwind CSS等现代工具,显著提升了开发效率和代码可维护性,同时保持了Laravel框架的优雅特性。

2026-03-29 23:31:46 394

原创 Laravel9.x核心特性全解析

Laravel 9.x 是重要版本更新,要求 PHP 8.0+,升级了 Symfony 6.x 组件。核心改进包括:优化的 Eloquent 访问器/修改器、增强的路由模型绑定、新增 Scout 数据库驱动、匿名队列迁移、精细化的异常处理、Flysystem 3.x 集成以及时间模拟测试工具。该版本移除 PHP 7.x 兼容性,引入破坏性变更,建议升级前检查兼容性公式:Laravel ≥9.x → PHP ≥8.0。升级需清除缓存并处理弃用方法。

2026-03-29 20:17:26 387

原创 Laravel10.x震撼升级:6大亮点全解析

Laravel 10.x是2023年发布的重要框架更新,主要特性包括:要求PHP 8.1+版本以提升性能;新增Laravel Pennant功能标志管理工具;优化路由缓存机制提升30%加载速度;增强队列批处理系统;新增Artisan命令简化开发;改进测试断言方法;升级邮件发送组件等。这些改进显著提升了开发效率、应用性能和可维护性,建议开发者升级PHP版本后通过Composer更新依赖以使用新特性。

2026-03-29 19:36:25 330

原创 PHP vs C++:从Web脚本到系统编程的终极对比

PHP和C++是差异显著的编程语言。PHP作为Web专用脚本语言,采用弱类型和自动内存管理,适合快速开发动态网站和API服务,典型应用包括WordPress和Laravel框架。C++则是系统级编程语言,强调性能优化和硬件控制,需要手动内存管理,广泛应用于游戏引擎、操作系统等高性能场景。PHP优势在于开发效率高、学习曲线平缓,而C++在计算密集型任务中性能卓越但开发周期较长。选择取决于项目需求:Web开发首选PHP,追求极致性能则需C++。

2026-03-28 22:42:23 210

原创 MySQL 8.0安装

Windows10环境下MySQl 8.0 ZIP安装步骤。

2026-03-18 03:05:26 158

原创 Docker部署Spring Boot + Vue项目

本文的Spring Boot + Vue项目采用若依前后端分离版项目为例,使用Docker部署项目,当然读者如果使用自己的Spring Boot + Vue项目也可以,Docker部署方法一样。

2026-03-18 00:40:41 237

原创 Spring中Aware的用法以及实现

在Spring当中有一些内置的对象是未开放给我们使用的,例如Spring的上下文ApplicationContext、环境属性Environment,BeanFactory等等其他的一些内置对象,而在我们可以通过实现对应的Aware接口去拿到我们想要的一些属性,一般命名都是xxxAware,在创建对象的时候, 会调用接口规定的方法注入到相关组件:Aware。在处理Aware实现类的时候就会有对应的一个AwareProcessor去处理,我们拿ApplicationContextAware做示例**:**

2026-03-17 17:31:39 129

原创 Spring+SpringMVC项目中的容器初始化过程

而是因为Listener、Filter、Servlet是Web容器管理的,而bean是Spring容器或SpringMVC容器管理的。获取servlet节点信息,创建Servlet实例集合,其中的DispatcherServlet就是用来完成SpringMVC容器(XmlWebApplicationContext)初始化的;当执行SpringMVC容器的getBean方法在自己的context中找不到对应的bean,则会在父容器Spring容器的context中找对应的bean。至此,SSM项目启动完成。

2026-03-17 15:15:48 321

原创 Redis为什么这么快?Redis的线程模型与Redis多线程

多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有 I/O 事件时,就从阻塞态中唤醒,然后程序就会轮询一遍所有的流(epoll 是只轮询那些真正发出了事件的流),并且依次顺序的处理就绪的流,这种做法就避免了大量的无用操作。在redis的多线程模式下,获取、解析命令,以及输出结果着两个过程,可以配置成多线程执行的,因为它毕竟是我们定位到的主要耗时点,但是命令的执行,也就是内存操作,依然是单线程运行的。

2026-03-17 12:47:24 331

原创 MySQL中查看表结构

DESCRIBE或DESC:适合快速查看表的基本结构。:提供更详细的列信息,如默认值和额外信息。:显示创建表的完整SQL语句,包括所有列定义、索引和约束。:通过查询系统数据库,获取最详细的元数据信息。

2026-03-17 04:20:20 36

原创 Java基础进阶-水仙花数

第三步:进行求和判断是否满足条件,满足就输出当前水仙花数,此时计数器计数一次,最后输出总个数。水仙花数是定义范围100-999,满足每个位上的数子的3次方相加和等于这个数。取出当前数字的个位,十位,百位上的数字。功能:求水仙花数,打印并统计总个数。第一步:循环遍历数据范围。

2026-03-17 01:41:40 178

原创 【MySQL — 数据库基础】深入理解数据库服务与数据库关系、MySQL连接创建、客户端工具及架构解析

4.1 什么是SQLSQL(Structured Query Language)是结构化查询语言的简称,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库。我们知道MYSQL是关系型数据库,这时候需要通过MYSQL来存储数据,我们对数据库的所有的操作该如何进行呢?我们如何操作数据库呢?首先,我们需要明确一点,数据库是用来保存数据的;那么操作数据库,就要使用工具/语言,就是SQL;

2026-03-15 03:49:17 347

原创 SpringSecurity踢出指定用户

SpringSecurity中可以使用 SessionRegistry 的实现类 SessionRegistryImpl 来获取session相关信息,可以通过这个实现类来踢出用户。

2026-03-15 01:16:20 182

原创 springboot使用logback自定义日志

1、末尾有完整配置文件springboot默认是INFO,因此低于INFO的TRACE和DEBUG都不会输出。可以在properties或yamllogging:level:这里的rootlogging:level:3、其次,logback的日志分为控制台日志和文件日志。控制台日志:也就是我们IDE运行项目时,控制台打印的信息。文件日志:项目运行时,将运行信息写入到指定文件。需要在springboot配置文件或logback配置文件中指定日志文件的位置。使用形如来给日志标签配置颜色。要使用。

2026-03-14 19:32:35 362

原创 Spring Security 官网文档学习

缺省登陆路径http// 表示允许使用HttpServletRequest限制访问// 对任何请求都进行身份验证.and()// 启动基于表单验证// 该路径允许所有人访问到上面的没有配置登陆页面,会默认的生成一个页面配置自己的登陆页面,使用.loginPage("路径")防止CSRF攻击;授权请求上面配置的只是,一刀切,对除了登陆路径的其他任何路径都进行身份验证,实际开发中,我们应该有细粒度的配置,比如权限控制;http。

2026-03-14 18:29:20 342

原创 SpringBoot 项目如何使用 pageHelper 做分页处理 (含两种依赖方式)

分页是常见大型项目都需要的一个功能,PageHelper是一个非常流行的MyBatis分页插件,它支持多数据库分页,无需修改SQL语句即可实现分页功能。本文在最后展示了两种依赖验证的结果。

2026-03-13 21:47:45 335

原创 推荐一个GitHub上超牛b的Java进阶学习项目《Java成神之路》!已整理成了文档版本。

好在很早之前就有人总结了一份**《Java工程师成神之路》**,作者按照自己的经验总结了从基础,到高级、底层、架构、进阶、扩展等6个大的章节。,但是市面上很多书都是专注某一个领域的,没有一份完整的大图,以至于很多程序员很迷茫,不知道自己到底应该从哪里开始学,或者不知道自己学习些什么。这份资料之前开源在GitHub上,短短几个月时间,收获了12k的Star数,最近,笔者了解到,该项目有了重大的变化,升级到了v3.0版本。需要学习、或者参与共建的朋友,可以通过在线阅读地址进行阅读,笔者试了一下啊,体验非常好。

2026-03-13 02:13:57 176

原创 什么是Spring Boot 应用开发?

Spring Boot 是由 Pivotal 团队开发的一个开源框架,旨在简化 Spring 应用的初始搭建以及开发过程。它利用自动配置机制,根据项目依赖自动配置 Spring 框架,使得开发者能够快速启动项目,避免了大量繁琐的配置工作。例如,当在项目中引入了依赖,Spring Boot 会自动配置 Tomcat 服务器、等 Web 开发所需的组件,开发者可以立即专注于业务逻辑的编写,而无需关心这些基础组件的复杂配置。

2026-03-12 12:14:22 216

原创 【JAVA进阶篇教学】第十三篇:Java中volatile关键字讲解

volatile关键字是 Java 中的一种轻量级同步机制,它可以确保变量的可见性和禁止指令重排序。volatile关键字适用于多线程环境下的变量共享,例如状态标志、计数器等。与锁相比,volatile关键字的执行效率较高,但不能保证原子性。如果需要实现原子性操作,需要使用锁或其他同步机制。

2026-03-12 09:50:19 179

原创 SpringBoot项目整合Knife4J

首先我们要明白我们为什么要去使用API文档,在前后端脱离开发的情况下,前端程序员无法实时的知道后端接口开发的进度,后端程序员总不能每_开发完一个接口或者更新一次接口_就去wx上去跟前端程序员说,嘿!哥们哥们,我新增了一个接口,这个接口是这样这样子…这样沟通的成本也太高了,而且有时候还说不明白,搞得双方都很难受,在这样的情况下,API文档应运而生。API 文档是开发者了解 API 功能和如何正确使用的主要来源。它提供了详细的指导,包括请求格式、参数说明、响应结构。

2026-03-11 23:16:36 404

原创 Spring Boot环境配置

只要我们在Spring Boot 项目中的 pom.xml 中引入了spring-boot-starter-web依赖,即使不进行任何配置,也可以使用Spring MVC 进行 Web 开发。spring-boot-starter-web是一个依赖库,Spring Boot 是在 Spring 的基础上创建的一个开源框架,它提供了 spring-boot-starter-web (web场景启动器)来为web开发予以支持。选择JDK的安装路径,你可以选择自定义一个路径或者安装至操作系统的默认路径当中。

2026-03-11 20:50:42 400

原创 MySQL数据的增删改查(一)

示例:我们查询 id 和 年龄:

2026-03-10 08:21:52 404

原创 linux 网卡配置

linux网卡可以通过命令和配置文件配置,如果是桌面环境还可以通过图形化界面配置.

2026-03-10 04:24:04 411

原创 解决“wsl 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理”

为了解决这个问题,我们需要调整WSL的网络配置,使其能够正确地反映Windows系统的代理设置。这可以通过创建一个.wslconfig文件并设置特定的网络模式来实现。

2026-03-09 07:45:13 446

原创 在 Ubuntu 上安装 MySQL 的详细指南

在Ubuntu环境中安装以及 MySQL 开发包(包括头文件和动态库文件),并处理最新版本MySQL初始自动生成的用户名和密码,可以通过官方的APT包管理器轻松完成。以下是详细的步骤指南,包括从官方仓库和MySQL官方仓库安装的两种方法,并介绍如何处理自动生成的初始用户名和密码,以及如何修改root初始密码。

2026-03-09 03:45:30 368

原创 【Spring Boot】网页五子棋项目实现,手把手带你全盘解析(长达两万3千字的干货,坐好了,要发车了......)

同时后端在建立请求时要进行一个逻辑的判断,通过维护一个Hash表,Key存储的是用户的Id,Value存储的是用户用来建立连接时WebSocketSession,然后就可以通过前端传入的用户Id在后端进行查询,如果查询到了,那么就意味着该用户已经登录了,没查询到的话就把该用户的信息放进去,表示该用户现在是在线状态。什么是WebSocket?前端请求后端该用户的数据信息,后端根据登录时存储的Session信息,拿到用户Id,根据用户Id进入数据库中进行查找,并返回给前端进行界面用户信息的显示。

2026-03-08 13:26:44 373

原创 sql实战解析-sum()over(partition by xx order by xx)

3、sum( )over( partition by xx order by xx) 在 sum( )over( order by xx) 基础之上,增加一个分组动作,所有的计算都在分组内生效,即在每个分区内,进行sum( )over( order by xx) 的操作。sum( c )over( partition by a order by b) 按照一定规则汇总c的值,具体规则为以a分组,每组内按照b进行排序,汇总第一行至当前行的c的加和值。1、sum( )over( ) 对所有行进行求和。

2026-03-08 09:30:58 33

原创 springboot中配置logback-spring.xml

该配置表明:配置日志根级别,也就是日志最低级别,如:debug<info<warn<error,日志级别越低,输出范围就广。比如:配置root级别level=“info”,那么info以上的日志都能输出,即info、warn和error都能打印输出。-该配置表明:可以指定包、类或者自定义名称,并配置级别,告诉日志此配置下的日志和级别输出到指定的位置,如代码所示。-该配置表明:希望日志通过什么样的方式输出,并且输出到何处(比如控制台、文件等)另外,可以对日志的样式进行设置,后续补充!

2026-03-07 06:48:42 34

原创 Spring Boot 2.7.x 至 2.7.18 及更旧的版本,漏洞说明

在 Spring Framework 版本 5.3.0 至 5.3.38 及更早的不受支持版本中,如果应用程序评估了用户提供的 SpEL(Spring Expression Language)表达式,攻击者可以利用特制的表达式导致拒绝服务(DoS)攻击。

2026-03-07 03:13:42 249

原创 MySQL查看日志

二进制日志( BINLOG )记录了所有的 DDL (数据定义语言)语句和 DML (数据操纵语言)语句,但不包括数据查询( SELECT 、 SHOW )语句。作用:① . 灾难时的数据恢复;② . MySQL 的主从复制。在 MySQL8 版本中,默认二进制日志是开启着。

2026-03-06 11:06:49 384

原创 Linux下MySQL的简单使用

可以看到C语言已经有了很成熟的与MySQL交互的接口,并且大部分函数的使用是和MySQL版本不相关的,但实际在Ubuntu运行的时候还是需要注意MySQL的版本和包的问题,因为新版本的MySQL库修改了一些配置文件的位置和相关的依赖包。

2026-03-06 03:55:36 179

原创 如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)

通过本文,你已经学会了如何在Windows系统上安装Node.js,并使用nvm来管理多个Node.js版本。Node版本管理器(nvm)让你能够在不同的项目中灵活切换Node.js版本,提高了开发效率。此外,配置npm镜像源后,你可以大幅提高在中国大陆地区的下载速度。希望本文帮助你成功配置Node.js环境,并轻松开始你的JavaScript和Node.js开发之旅!

2026-03-05 04:57:00 335

原创 【SQL】MySQL中的字符串处理函数:concat 函数拼接字符串,COALESCE函数处理NULL字符串

内容搜索词(contentKeyword):如果提供了内容搜索词,将会检查文章的标题和内容是否包含该关键词的子串。用户搜索词(userKeyword):如果提供了用户搜索词,将会检查文章的作者用户名是否包含该关键词的子串。类别ID(categoryId):如果提供了类别ID,将会检查文章的类别ID是否匹配指定的ID。用户ID(userId):如果提供了用户ID,将会检查文章的作者用户ID是否匹配指定的ID。函数是一个非常实用的字符串函数,用于将两个或多个字符串参数连接成一个单一的字符串。

2026-03-05 01:13:02 227

原创 UNION 和 UNION ALL 的区别:深入解析 SQL 中的合并操作

在 SQL 的世界里,当我们需要合并多个查询结果集时,UNION和UNION ALL是两个常用的操作符。虽然它们的功能看起来相似,但实际上有着重要的区别,这些区别在不同的应用场景中会对查询结果和性能产生显著影响。本文将详细探讨UNION和UNION ALL的区别,帮助你更好地理解和运用它们。

2026-03-04 05:11:34 245

原创 SpringBoot整合MQTT最详细版(亲测有效)

springboot控制台(也就是PushCallback.java里的回调方法messageArrived)也成功打印出了客户端接收到的消息,如图。创建mttqController控制器发送消息,如图。MqttPushClient.java代码。使用MQTTX客户端工具查看消息成功被发送。PushCallback.java代码。AjaxResult.java代码。mttqController代码。MqttInit.java代码。浏览器输入接口地址调试发送成功。

2026-03-04 01:27:11 174

原创 SpringBoot 集成 Activiti 7 工作流引擎

初始库表、定义、部署、操作任务代码创建测试类// 创建 ProcessEngine 对象// /**// * 初始化数据库表:第一种方式// */// @Test// }/*** 初始化数据库表* 通过读取 activiti.cfg.xml 配置文件*/@Test/*** 流程部署*/@Test// 创建 ProcessEngine 对象// 获取 repositoryService 对象// 进行部署。

2026-03-03 05:47:21 413

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除