自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis(三)

如果想查询 select u.*,a.money from user u left join account a on u.id = a.uid 语句的内容。需求的SQL语句:select * from user where id = 1 or id = 2 or id = 3。需求:查询的数据中包含account所有的字段,再包含用户的名称和地址。之前做过拼接SQL语句查询条件的查询,需要动态的拼接SQL语句。3.在AccountMapper接口中编写查询的方法。在User类中添加List的属性。

2025-05-24 22:44:41 600

原创 MyBatis(二)

把数据库的信息定义property标签中的方式-- 配置环境们 -->-- 配置具体的环境 -->-- 配置事务管理类型 -->-- 配置是否需要使用连接池,POOLED使用,UNPOOLED不使用 -->-- 加载映射的配置文件 --><mappers></mappers>在项目中定义jdbc.properties属性文件,存储数据库相关的信息,统一管理jdbc.properties属性文件SqlMapConfig.xml的配置文件--

2025-05-24 22:28:51 1027

原创 MyBatis(一)

MyBatis是一个优秀的基于Java的持久层框架,内部对JDBC做了封装,使开发者只需要关注SQL语句,而不用关注JDBC的代码,使开发变得更加的简单。MyBatis通过XML或者注解的方式将要执行的各种Statement对象配置起来,通过Java对象和statement中SQL的动态参数进行映射,并最终执行SQL语句。执行SQL后,最终将结果已Java对象返回。采用了ORM的思想。

2025-05-24 22:19:23 244

原创 JDBC工具类

MySQL是一款数据库,navicat是MySQL数据库的可视化工具要想后端与数据库进行连接,就需要先导入数据库驱动JDBC对市面上的数据库驱动进行了整合,用户只需要使用jdbc便可以管理各种数据库。驱动管理类注册驱动程序,创建连接对象Connection连接类建立数据库的连接Statementsql编辑器向数据库发送要执行的sql语句ResultSet查询结果集执行查找的操作结果。

2025-05-24 22:09:23 401

原创 Java并发编程

volatile并不一定能保证数据的准确性:两个线程同时操作volatile修饰的变量,从高速缓存区写回到内存后,会把该变量在高速缓存区中对应的数据清除,这样线程需要重新访问更新后的数据,从而保证数据的准确。CAS 比较并且交换--必须调用操作系统提供的CAS内核函数(原子性):线程操作资源的同时记录读取资源时刻的状态,如果更新时状态一致则改变,不一致则会重复进行读取并操作。多线程,多进程,多服务器,集群并发操作,只要是写后读,最终计算结果一定是准确的(语言无关)IO密集(等待的时间比运行的时间长很多)

2025-05-24 21:55:58 611

原创 Maven进阶

比如我们在项目开发的过程中,可能多个模块独立开发,但是多个模块可能依赖相同的公共模块,比如说每个模块都需要javaseo-utils,在编译的时候,maven-compiler-plugin插件也要被引入,maven仓库地址以及发布目录都是相同的配置。我们可以使用Maven的继承功能,把公共的配置信息写到父模块中,子模块只要继承了该父模块,也会继承父模块的配置信息。Maven的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,生命周期只是定义了一系列的阶段,并确定这些阶段的执行顺序。

2025-04-26 15:15:16 757

原创 IDEA搭建环境的五种方式

Java Enterprise-- 勾选jdk版本、Java EE version 、Application Server和Web Application。mavenJavaWeb项目的目录结构,控制台显示BUILD SUCESS表示创建成功。Artifacts模块下选择Web Application:Exploded。在Modules模块下添加Module,选择引入Module。maven模块下勾选c模版,选择maven的webapp。选择Java,jdk选择1.8版本,然后点next。

2025-04-25 21:26:21 638

原创 SpringMVC拦截器

拦截器(Interceptor)是 SpringMVC 提供的一种可插拔式组件,用于在请求处理的不同阶段执行特定操作(如权限验证、日志记录等)。与 Servlet 的过滤器(Filter)类似,但拦截器更专注于 Controller 层的请求处理,且与 SpringMVC 深度集成。通过配置文件,开发者可以灵活启用或禁用拦截器,无需修改业务代码。SpringMVC 拦截器通过灵活的钩子方法,为开发者提供了强大的请求处理扩展能力。无论是权限验证、日志记录,还是数据预处理,拦截器都能以低侵入的方式实现需求。

2025-03-27 20:55:20 714

原创 Spring MVC核心技术:从请求映射到异常处理

接口设计原则遵循RESTful风格使用合适的HTTP状态码保持URL语义清晰安全建议文件上传时验证文件类型对下载文件进行权限校验使用HTTPS传输敏感数据性能优化启用Gzip压缩使用CDN分发静态资源合理设置缓存策略。

2025-03-25 20:58:16 531 1

原创 Spring MVC:从历史演变到实战入门

通过本文的学习,我们不仅掌握了Spring MVC的核心原理,还完成了从环境搭建到实战开发的完整流程。建议读者在掌握基础后,继续深入以下方向:深入理解拦截器(Interceptor)机制研究Spring Boot对MVC的自动化配置探索响应式编程WebFlux框架。

2025-03-25 20:46:54 849

原创 Spring AOP 面向切面编程

AOP作为Spring框架的核心技术之一,完美实现了关注点分离。结合设计模式中的代理模式,通过动态字节码增强实现了横切逻辑的统一管理。在实际开发中,可以结合自定义注解实现声明式编程,大幅提升代码的可维护性。扩展方向🔹 结合Spring Boot实现零配置AOP🔹 整合Micrometer实现方法级监控🔹 自定义注解实现审计日志功能。

2025-03-24 18:36:28 965

原创 Spring IOC:控制反转与依赖注入

IOC(Inversion of Control,控制反转)是一种面向对象编程的设计原则,核心思想是将对象的创建权交给框架(如Spring)来管理。传统开发中,类之间直接通过new关键字创建依赖对象,导致代码耦合度高。// 传统方式:类A直接依赖类Bclass A {IOC的优势解耦:通过Spring容器统一管理对象生命周期,避免类之间的直接依赖。灵活性:修改依赖关系时无需改动源码,只需调整配置文件或注解。// ...IOC核心价值:通过解耦提升代码可维护性和扩展性。XML vs 注解XML。

2025-03-24 18:09:09 999

原创 MySQL事务

事务(Transaction)是数据库操作的最小工作单元,由一组逻辑相关的DML(Data Manipulation Language,如INSERT/UPDATE/DELETE)语句组成。事务的边界由业务逻辑决定,例如一次转账可能涉及两次UPDATE操作。事务是数据库保证数据一致性的核心机制,理解其原理与应用场景至关重要。精准控制事务边界:避免过大或过小的事务范围。合理选择隔离级别:平衡一致性与性能。结合框架能力:如Spring的声明式事务简化开发。

2025-03-19 20:42:36 421

原创 通过手写Tomcat理解Web容器基本原理

定义简单的servlet生命周期Request对象封装请求信息(如请求路径、参数)Response对象处理响应输出@Target()元注解负责定义注解的作用范围为类@Retention()元注解定义了注解的生命周期为运行阶段模块关键点实现说明Servlet接口定义服务入口统一请求处理方法注解配置通过反射读取路径配置路由容器HashMap存储映射关系快速查找对应处理类网络通信Socket监听端口每个请求独立处理请求响应模型Request/Response封装。

2025-03-08 23:47:37 306

原创 Http协议

服务器把证书传输给浏览器,浏览器从证书里获取公钥就行了,证书就如身份证,证明服务器公钥的权威性。为了使数据在网络上从源头到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议,它最终体现为在网络上传输的数据包的格式。互联网上的每个文件都有一个唯一的url地址,它包含的信息指出文件的位置和以及浏览器应该怎么处理它。于是就出现了https协议,它在http协议的基础上进行了加密,所以更安全。htttps的加密模式是对称加密和非对称加密共同作用的方式。请求包含请求方式、请求头和请求正文。

2025-03-04 20:04:21 679

原创 Java中的IO流

字符输入流(Reader)用于读取文本数据,常用类包括 FileReader 和 BufferedReader。字符输出流(Writer)用于写入文本数据,常用类包括 FileWriter 和 BufferedWriter。字符流适合处理文本文件,支持字符编码,能够高效地读写文本数据。

2025-02-21 11:43:34 554

原创 Java中的异常体系

java异常是java提供的一种识别并响应错误的一致性机制。

2025-02-12 23:29:52 181

原创 hashCode与equals()

hashCode是Object类中的一个方法,它返回一个整型数值,这个值被称为哈希码。它的主要用途是为对象提供一个快速比较的依据,特别是在哈希表(如HashMap)中,用于快速定位对象的存储位置。简而言之,hashCode方法的设计目的是提高数据结构中查找、删除和插入元素的效率。

2025-02-11 23:29:50 532

原创 Java中的反射

反射是获取类信息的一种能力。

2024-12-07 00:33:13 339

原创 数组的八大排序

aaa。

2024-11-01 15:25:38 447

原创 Java 代理

生成代理的方法中你必须指定实现类的接口,它根据这个接口来实现代理类生成的所实现的接口。简单来说代理模式就是将被代理类包装起来然后重新实现相同的方法,并且调用原来的方法的同时可以在方法的前后添加一个新的处理。相比于静态代理,动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类中的方法。代理类需要将该接口作为属性,实例化时需要传入该接口的对象,这样该代理类就可以实现代理所有实现。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象。

2024-09-05 13:10:12 1368

原创 java 接口

官方解释:Java接口是一系列方法的声明,是一些方法特征的集合。一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方中被不同的类实现,而这些实现可以具有不同的行为(功能)。接口可以被理解成一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。或者我们可以直接把接口理解成100%的抽象类,即接口中的方法必须全部是抽象方法。

2024-09-03 16:16:40 398

原创 Java 包装类

Java有8种基本数据类型:整型(byte、short、int、long)、浮点型(float、double)、布尔型boolean、字符型char。相对应地,Java提供了8种包装类Byte、Short、Integer、Long、Float、Double、Boolean、Character。包装类创建对象的方式就跟其他类一样。//创建一个数值为0的Integer对象。

2024-08-28 12:59:25 680

原创 Java 泛型

泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参列表,普通方法的形参列表中,每个形参的数据类型是确定的,而变量是一个参数。在调用普通方法时需要传入对应形参数据类型的变量(实参),若传入的实参与形参定义的数据类型不匹配,则会报错。泛型的本质是为了将类型参数化, 也就是说在泛型使用过程中,数据类型被设置为一个参数,在使用时再从外部传入一个数据类型;而一旦传入了具体的数据类型后,传入变量(实参)的数据类型如果不匹配,编译器就会直接报错。

2024-08-28 00:21:44 1651

原创 Java 抽象类

类中描绘了该类所有对象共同的特性,当一个类中给出的信息足够全面时,我们就可以实例化该类;但是,当一个类中给出的信息不够全面时,(比方说有无法确定的行为),它给出的信息不足以描绘出一个具体的对象,这时我们往往不会实例化该类,这种类就是抽象类。在Java中,我们通过在类前添加关键字abstract(抽象的)来定义抽象类。如下所示 ://Animal类此时就是一个抽象类。//Dog类继承了Animal类,是Animal类的子类。我们将“只有方法声明,没有方法体”的一类方法统称为抽象方法。

2024-08-27 23:44:14 904

原创 Java中的多态

多态是什么?多态是同一个行为具有不同的表现形式的能力同一方法可以根据发送对象的不同而采用不同的行为方式多态就是事物的多种形态,一个对象在不同条件下所表现的不同形式。

2024-08-24 22:23:16 1619

原创 关于Java继承相关(方法的重写)

继承是面向对象语法的三大特征之一。继承可以降低代码编写的冗余度,提高编程的效率。1、在java中使用关键字类Parent为父类,Child为子类2、通过继承。(继承的本质就是代码的复用,子类调用父类的代码,父类不能调用子类的代码。学生Tom193、。就像一个儿子只能有一个父亲,但一个父亲可能会有多个儿子。故,终极父类为java标准类。

2024-08-23 13:04:05 348

原创 Java static关键字

没有static修饰时,方法和变量以信息的形式存储在方法区中,只有创建对象时,这些非静态的方法和变量才会有独立的存储空间,被对象调用。

2024-08-22 18:47:08 197

原创 Java语法基础1

先计算条件b,然后进行判断,如果值是true,那么计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。在程序中使用变量,必须先创建它并为它取一个名字,并且指明它能够存储信息的类型,这称为变量声明,也叫容器的创建。整数类型:字节类型:byte (1字节)短整型:short(2字节)整型:int(3字节)长整型:long(4字节)用来表示类名,变量名,对象名,方法名,数组名,文件名等的有效字符序列。一种特殊符号,用以表示数据的运算,比较,赋值。流程跳转语句:break,continue。

2024-08-21 23:15:53 465

空空如也

空空如也

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

TA关注的人

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