自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

敢问路在何方,路在脚下

慎终如始,则无败事

  • 博客(100)
  • 收藏
  • 关注

原创 Maven(Ⅱ):依赖范围,依赖传递,依赖阻断,可选依赖

依赖范围(Dependency Scope)用于控制依赖在不同构建阶段的可见性和可用性。Maven 定义了几种不同的依赖范围,每种范围都有其特定的使用场景。可选依赖(Optional Dependencies)是指在声明依赖时,将其标记为可选。这样,当其他项目依赖当前项目时,这些可选依赖不会自动传递。依赖阻断是指在依赖传递过程中,通过某种方式阻止某些依赖传递到当前项目中。依赖传递是指当一个项目依赖另一个项目时,被依赖项目的依赖也会自动传递到当前项目中。中依赖声明的数量,但也可能导致依赖冲突。

2025-02-04 16:52:15 815

原创 Maven(Ⅲ)继承和聚合

Maven 继承主要用于代码复用,减少重复配置;Maven 聚合主要用于提高构建效率,一次性构建多个项目。在实际项目中,两者可以结合使用,以更好地管理项目结构和配置。

2025-02-04 16:47:16 617

原创 Java集合概述(Ⅱ)

本文章补充了Java集合体系当中的一些细节。

2025-02-04 16:37:22 896

原创 mysql不同种类时间字段的区别

范围DATE和DATETIME的范围较大,TIMESTAMP的范围较小。时区TIMESTAMP依赖时区,DATETIME不依赖。存储空间TIMESTAMP占用空间最小,DATETIME占用空间较大。用途DATE用于日期,TIME用于时间或间隔,DATETIME和TIMESTAMP用于日期和时间,YEAR用于年份。

2025-02-04 16:21:03 558

原创 SSM聚合项目+Vue3+Element-plus项目生产部署(Ubuntu24.04LTS)

非常刺激的一次部署经历,我相信很多第一次独立部署前后端分离项目的人都遇到过。

2025-02-04 16:17:59 579

原创 MyBatisPlus(SpringBoot版)功能说明

创建数据库mybatisplus_test,并创建t_user表创建User类1.1 常用注解1.1.1 @TableName该注解用于指定实体类对应的数据库表名。当实体类名与数据库表名不一致,或者实体类名不是数据库表名的驼峰写法时,您需要使用这个注解来明确指定表名。@TableName注解的属性value: 用户自定义表名,默认值""schema:数据库名称,除非数据库使用了schema,否则不写keepGlobalPrefix:此实体类映射的表是否使用在配置文件指定全局的tab

2025-02-04 15:05:14 708

原创 Spring理论知识(Ⅴ)——Spring Web模块

Spring由20个核心依赖组成,这20个核心依赖可以分为6个核心模块众所周知,Java目前最大的一个用途就是作为Web应用的服务端(Java Web)Spring又是JavaEE中使用最广泛的开发框架,所以Spring的Web模块的重要性,不言而喻Spring Web模块是Spring框架的重要组成部分,主要用于构建基于HTTP协议的Web应用程序,尤其是RESTful服务。它提供了对Web开发的支持,包括处理HTTP请求、响应、会话管理等,是开发现代Web应用和服务的核心模块之一。Spring

2025-02-04 15:03:54 986

原创 SpringBoot静态资源管理和装配

if (!这个方法调用了两个重载的addResourceHandler方法,第一个加载了前端js的依赖(webjars的方式,localhost:8080/webjars/jquery/3.3.1/jquery.js);第二个是导入静态资源路径下的资源。

2024-12-30 00:14:43 447

原创 SpringBoot(Ⅱ-2)——,SpringBoot版本控制,自动装配原理补充(源码),自动导包原理补充(源码),run方法

SpringBoot的核心父依赖,下面导入的所有starter依赖都不需要指定版本,版本默认和spring-boot-starter-parent的parent版本一致;xxxstarter内部jar包依赖的版本管理,starter自动做好了,不会出现冲突,也不需要我们操心

2024-12-29 14:50:32 689

原创 SpringBoot整合SpringMVC, SpringBoot扩展SpringMVC

1.注册视图控制器(请求转发)2.注册格式化器(比如日期)3.注册消息转换器扩展(fastjson或者jackson或者Gson)4.注册拦截器// 注册视图控制器(请求转发)@Override// 注册格式化器(比如日期)@Override@Override@Override});// 注册消息转换器扩展(fastjson或者jackson或者Gson)@Override。

2024-12-28 20:37:04 1080

原创 SpringBoot(Ⅱ)——@SpringBootApplication注解+自动装配原理+约定大于配置

maven的默认目录结构也体现了约定大于配置的思想。

2024-12-27 16:32:23 1054

原创 mysql冷知识

在between中使用日期时,SQL会默认将date格式转换为datetime格式,具体操作就是为date格式后面添加" 00:00:00"比如我想筛选2024年1月的所有交易按照上面逻辑就成了between “2020-01-01 00:00:00” and "2020-01-31 00:00:00,2020-01-31这一天实际上是没有被囊括进去的。

2024-12-22 16:38:36 563

原创 创建SpringBoot项目的五种方式

目前SpringBoot官方对于SpringBoot模板版本都比较新,所以对Java的依赖版本也很新,这里可以看到已经不支持jdk8了,并且只有SpringBoot3版本我们选择好之后点击next然后选择SpringBoot项目的版本,选择一个Spring Web初始依赖包点击create我们可以发现SpringBoot采用了类似于maven依赖传递的一种方式,将创建的项目作为的子项目。

2024-12-21 22:09:44 2589

原创 git全教程(长期更新)

有Linux,Mac,Windows三种版本用于下载我们这里以Windows为例。

2024-12-21 20:08:25 1254

原创 Spring理论知识(Ⅳ)——Spring Instrumentation模块

总的来说,Spring Instrumentation提供了类植入(Instrumentation)支持和类加载器的实现,可以在特定的应用服务器中使用。本质上是一种JVM级别(操作系统级别)的AOP,用到了代理java.lang.instrument(容器类)做动态Instrumentation是Java SE 5的新特性使用 Instrumentation,开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义。

2024-09-02 17:10:10 1111 1

原创 Spring理论知识(Ⅲ)——Spring面向切面编程

Spring AOP全面详解(超级详细)AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向切面编程,实现在不修改源代码的情况下给程序动态统一添加额外功能的一种技术。AOP可以拦截指定的方法并且对方法增强,而且无需侵入到业务代码中,使业务与非业务处理逻辑分离,比如Spring的事务,通过事务的注解配置,Spring会自动在业务方法中开启、提交业务,并且在业务处理失败时,执行相应的回滚策略。主要作用是分离功能性需求和非功能性需求。

2024-09-02 11:33:06 1220 1

原创 Spring理论知识(Ⅱ)——Spring核心容器模块

Spring的组成Spring由20个核心依赖组成,这20个核心依赖可以分为6个核心模块本篇文章着重描述Spring核心容器模块,其中包含了spring-beans,spring-core,spring-context,spring-expression-language(SpEl),spring-context-support等依赖1. Spring核心容器1.1 Spring核心容器的依赖简介Spring Core Container 是 Spring 框架的核心部分,它为整个 Spr

2024-08-26 10:56:40 1084

原创 Spring理论知识(Ⅰ)——Spring分层结构,Spring模块数据访问与继承

Spring1. Spring是什么?Spring是于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。分层架构降低了系统层次之间的耦合性,同时Spring的核心是控制反转(IoC控制反转

2024-08-20 15:19:00 1284 1

原创 yaml语法+yaml配置文件

k:()v => 表示一对键值对空格必须有yaml拥有严格的空格缩进格式控制,以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的。

2024-08-09 01:02:45 1440

原创 SpringBoot(Ⅰ)——HelloWorld和基本打包部署+Pom依赖概述

前言如果SSM学的比较好,那么SpringBoot说白了就两件事:约定大于配置和自动装配SpringBoot不会提供任何的功能拓展,完全依赖我们手动添加所以SpringBoot的本质是一个依赖脚手架,可以快速集成配置各种依赖1.1 SpringBoot相关依赖创建maven项目,引入spring‐boot‐starter‐parent和spring‐boot‐starter‐web两个依赖<parent><groupId>org.springframework.boot

2024-08-08 02:18:46 465

原创 SpringCloud介绍

每一个服务都应该是一个可独立替换和独立升级的软件单元。

2024-08-07 01:40:16 254

原创 SpringCloud入门简介

SpringCloud是微服务治理方案之一;SpringCloud与SSM框架和SpringBoot没什么关联SSM:web应用的开发框架,包含视图层(模型model+视图view+控制器controller),业务层,持久层SpringBoot:简化SSM的配置,同时提供构建项目的脚手架。

2024-08-06 23:51:38 530

原创 正则表达式(Ⅴ)——标志匹配

gm表示全局一行一行匹配。

2024-07-18 22:19:11 248

原创 正则表达式(Ⅳ)——零宽断言

以……为开头/以……为结尾。

2024-07-18 22:07:50 377

原创 正则表达式(Ⅲ)——分组匹配

为了给表达式分组,我们需要将文本包裹在 () 中分组之间需要有分割符,,或者-或者_都可以。

2024-07-17 01:13:12 785

原创 正则表达式(Ⅱ)——重复匹配

重复匹配使用一些特殊字符用来指定一个字符**在文本中重复的次数**。它们分别是加号 +、星号 * ,问号 ?,大括号{}。

2024-07-16 22:02:17 604

原创 正则表达式(Ⅰ)——基本匹配

基本匹配都是从某一个范围中选择一个,只不过范围的描述方式比较多样,但是**核心点在于只选一个**

2024-07-16 21:42:50 351

原创 图片服务器是什么?常见的图片服务器是哪几种?图片服务器的要求是什么?

图片服务器,顾名思义就是专门用于处理图片的服务器,向外提供图片的上传,下载,图片展示等服务。

2024-07-16 21:08:05 1305

原创 SpringMVC(3)——SpringMVC注解实战

上篇博客我们提到了controller方法的参数与html表单之间的对应关系SpringMVC为了简化这些繁琐的操作,为前后端字段的转换提供了一些很方便的注解。

2024-07-11 00:53:12 780

原创 SpringMVC(2)——controller方法参数与html表单对应(请求参数的绑定)

提交表单的name和JavaBean中的属性名称需要一致如果一个JavaBean类中包含其他的引用类型,那么表单的name属性需要编写成:对象.属性 例如:address.name给集合属性数据封装List:使用list[0],list[1]…,其中list是固定写法Map:以Map<String,Entity>为例,前端jsp页面应为map[‘keyName’].entityName,这也是固定写法,必须这么写1. 基本类型+String类型在JSP的form表单元素中不需要做特殊处理,直接映

2024-07-04 01:00:24 586

原创 SpringMVC(1)——入门程序+流程分析

我们使用Spring开发JavaWeb项目,这种架构,总体上的Spring,分为表现层,业务层和持久层三层;

2024-06-30 22:06:39 475

原创 Spring自带的持久层模板类:JdbcTemplate+Spring框架声明式事务管理实战

Spring框架中提供了很多模板类来简化编程,使用模板类编写程序会变的简单。

2024-06-28 01:07:28 1079

原创 SpringAop实战(xml文件/纯注解两种方式)

这一部分是最重要的// 自定义切面类/*** 通知/增强的方法*/// 发送手机短信// 发送邮件/记录日志/事务管理System.out.println("xml增强的方法执行了...");@Component@Aspect/*** 通知*/System.out.println("===前置通知执行:开启事务......");System.out.println("===后置通知执行:提交事务......");

2024-06-25 22:00:40 1161

原创 Spring+SpringMVC介绍+bean实例化+依赖注入实战

Model(entity包)-View(thymeleaf等视图引擎)-Controller(Controller包)Model(模型):用来处理程序中数据逻辑的部分View(视图):在应用程序中,专门和浏览器进行交互,展示数据的资源Contreller(控制器):可以理解成是一个分发器,来决定对于视图发来的请求,需要用哪一个模型来处理,以及处理完后需要跳回到哪一个视图,也就是用来连接视图和模型的IOC – Inverse of Control,控制反转,将对象的创建权力反转给Spring框架!!

2024-06-21 00:57:33 926

原创 mysql事务

事务是是数据库提供的一个特性,是代表的,组成事务的所有语句都应该运行成功,否则事务会执行失败。指的是完成一项工作的最小组成单位,比如银行取款100块钱是一项工作,包括登录,选择取款金额,输入密码,拿走钱等流程,其中的任何一个流程失败就会导致最后的取款失败。

2024-06-18 22:14:52 986

原创 IO读取properties文件实现JDBC连接池实战

由于资源已经预先创建,可以快速分配给请求,并在处理完毕后返回池中,从而减少了资源的竞争和等待时间,提高了系统的并发能力和可伸缩性。不需要在每个使用时都创建和销毁资源的代码逻辑,而是通过获取和释放资源来实现复用,减少了重复代码的编写。但是大部分时候,尤其是实际项目,Java服务和mysql服务在高并发的场景下的内存占用都很高,不可能部署在同一台主机,此时就需要用到。通过限制可用的资源数量,可以避免资源的过度消耗和浪费,从而提高系统的资源利用率。mysql连接的创建和销毁是非常耗时的,因为mysql连接。

2024-06-18 17:29:24 951

原创 Java——IO流(字符流,字节流)

IO流从方向上来说,可以分为输入流和输出流;从传输内容上来说,可以分为字符流和字节流。

2024-06-17 11:46:02 1030

原创 Java文件/文件夹的新增/删除/递归遍历

这里的字符串可以乱写,但是如果不存在后续的操作也会失败。

2024-06-16 15:45:11 468

原创 Maven常用命令介绍(Ⅰ)

Maven的生命周期是对所有的构建过程进行抽象和统一。Maven的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,生命周期只是定义了一系列的阶段,并确定这些阶段的执行顺序。而在执行这些阶段时,实际的工作还是由插件来完成的。这种思想与设计模式中的非常相似。

2024-06-15 17:23:40 674

原创 IDEA的配置设置

Editor->Inspections下勾选中Java->Serialization issues->Serializable class without ‘serialVersionUID’Appearance & Behavior->System Settings->Updates下取消Automatically check updates for勾选。改成自己的maven路径,setting.xml以及maven本地仓库地址。IDEA的版本与MAVEN的版本需要对应,否则会报错。

2024-06-07 01:07:53 630

空空如也

空空如也

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

TA关注的人

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