自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spring-事务属性

1.隔离属性 默认值2.传播属性 Required(默认值) 增删改 Supports 查询操作3.只读属性 readOnly false 增删改 true 查询操作4.超时属性 默认值 -15.异常属性 默认值增删改查询操作。

2025-03-31 21:07:11 723

原创 Spring的事务处理

属性:描述物体特征的一系列值事务属性:描述事务特征的一系列值1.隔离属性2.传播属性3.只读属性4.超时属性5.异常属性2.如何添加事务属性运行效率:不读未提交的数据(No Dirty Read):事务只能看到其他事务已提交的修改。但允许已提交的数据被其他事务修改为什么安全性最低?不可重复读(Non-repeatable Read):事务A第一次读数据后,事务B可以修改并提交,事务A第二次读可能看到不同的值。幻影读(Phantom Read)

2025-03-30 16:19:11 1026

原创 Spring与Mybatis整合

1.Spring框架为什么要与持久层技术进行整合JavaEE开发需要持久层进行数据库的访问操作JDBC Hibernate Mybatis进行持久层开发存在大量的代码冗余Spring基于模板设计模式对于上述的持久层技术进行了封装2.Mybatis整合。

2025-03-28 20:42:14 515

原创 Mybatis手写基本框架

(封装SQL语句信息)/*Mybatis-config.xml配置文件 SQL语句映射MappedStatemtn类作用是封装EmpMapper.xml文件解析之后的SQL语句信息在底层框架可以使用Demo4j进行解析*/@Data/*id标识 每条SQL语句的唯一标识*//*resultType 返回值类型*//*参数类型*/Configuration是Mybatis的SQL配置封装类,后期使用Demo4j进行解析/*

2025-03-27 15:19:15 951

原创 《深入理解AOP编程:从基础概念到Spring实现》

JDK动态代理 Proxy.newProxyInstance() 通过接口创建代理的实现类Cglib动态代理 Enhancer。

2025-03-18 17:45:58 847

原创 《从入门到精通:方法拦截器与切入点表达式的使用指南》

methodInteceptor接口:额外功能可以根据需要运行在原始方法执行前、后、前后。

2025-03-17 16:49:26 475

原创 深入理解静态与动态代理设计模式:从理论到实践

切入点:额外功能加入的位置目的:由程序员根据自己的需要,决定额外功能加入倒哪个原始方法中rigisterlogin简单测试:所有方法都作为切入点 加入额外功能-- 所有的方法 都作为切入点 加入额外功能 login register-->

2025-03-14 17:02:29 1209

原创 Spring中的配置文件参数化与类型转换器实现详解

作用:Spring通过类型转换器把配置文件中字符串类型的数据,转换成了对象中成员变量对应的类型原因:当Spring内部没有提供特定类型转换器时,而程序员在应用过程中还需要使用,程序员自己开发自定义类型转换器。类 implements Converter接口/** 实现Converter接口,重写convert方法* @return*/try {Spring配置文件中进行配置MyDateConverter对象创建出来类型转换器的注册。

2025-03-13 15:05:41 470

原创 Spring中的对象创建与生命周期管理

指的是一个对象创建、存活、消亡的一个过程。

2025-03-12 22:14:46 724

原创 Spring中复杂对象的创建方式:FactoryBean、实例工厂与静态工厂全解析

复杂对象:指的就是不能直接通过new 构造方法创建的对象ConnectionSpring中用于创建复杂对象的一种方式,也是Spring原生提供的,后续Spring整合其它框架,大量应用FactoryBean。

2025-03-12 16:00:19 564

原创 《Spring日志整合与注入技术:从入门到精通》

通过Spring工厂及配置文件,为所创建对象的成员变量赋值为成员标量提供set get方法配置文件中进行注入(赋值)

2025-03-11 16:01:58 964

原创 Spring学习之路:环境搭建、核心API与配置文件细节

1.JDK 1.8+官方网站 www.spring.io。

2025-03-10 16:11:05 1034

原创 Spring学习笔记:工厂模式与反射机制实现解耦

spring是一个开源轻量级的java开发应用框架,可以简化企业级应用开发轻量级1.轻量级(对于运行环境没有额外要求)2.代码移植性高(不需要实现额外接口)JavaEE的解决方案Spring更像是一种解决方案,对于控制层,它有Spring MVC,对于Service层,有对应的Aop可以解决service中的事务控制和日志处理的问题,现有的持久化方案像jdbc、mybatis作整合解决Dao的问题。最大的特点就是每个层次都可以有对应的解决方案。1.概念:通过工厂类、创建对象2.好处:解耦合。

2025-03-09 15:28:20 1078

原创 java-----多线程

有了多线程,我们就可以让程序同时做多件事情。

2024-10-21 16:43:38 2966

原创 java----IO流

IO流:存储和读取数据的解决方案I:input O:ourput 流:像水流一样传输数据IO流作用?用于读写数据(本地文件,网络)IO流按照流向可以分类为哪两种流?输出流:程序->文件输入流:文件->程序IO流按照操作文件的类型可以分类哪两种流?字节流:可以操作所有类型的文件字符流:只能操作纯文本文件(用winods系统自带的记事本打开并且能读懂的文件)

2024-10-18 15:57:12 824

原创 java----LinkedHashMap

原理:底层数据结构依然是哈希表,只是每个键值对元素又额外多了一个双链表的机制记录存储的顺序。.这里的有序指的是保证存储和去除的元素顺序一致。.由键决定:有序、不重复、无索引。

2024-09-21 19:13:11 282 1

原创 java-----异常

目的:让控制台的错误更加的见名知意throw new NameFormatException("长度应该是3-10");//这里时自定义抛出的异常,满足自定义的需求//自定义的异常类。

2024-09-21 17:51:57 1740

原创 java-----方法

什么是方法。

2024-09-20 19:31:17 1167

原创 java-----方法引用

第一个参数:表示被引用方法的调用者,决定了可以引用那些类中的方法,在Stream流中,第一个参数一般都表示流里面的每一个数据,第二个参数到最后一个参数,跟被引用方法的形参保持一致,如果没有第二个参数,说明被引用的方法需要是无参的构造方法。被引用方法的形参,需要跟抽象方法的第二个形参到最后一个形参保持一致,返回值需要保持一致。假设流里面的数据是字符串,那么使用这种方法引用,只能引用String这个类中的方法。②本类:this::方法名③父类:super::方法名。①其他类:其他类对象::方法名。

2024-09-19 19:25:53 663

原创 java-----Stream流

张无忌 周芷若 赵敏 张强 张三丰 张翠三 张良 王二麻子 谢广坤 张无忌 张无忌 张无忌 张无忌 张无忌 张无忌 张无忌 王二麻子 谢广坤。集合里面的数据:[张无忌, 周芷若, 赵敏, 张强, 张三丰, 张翠三, 张良, 王二麻子, 谢广坤]收集到list集合中:[张无忌-13-男, 张强-16-男, 张三丰-15-男, 张三丰-15-男][张无忌, 周芷若, 赵敏, 张强, 张三丰, 张翠三, 张良, 王二麻子, 谢广坤]收集到set集合中:[张强-16-男, 张三丰-15-男, 张无忌-13-男]

2024-09-18 19:54:13 1009

原创 java-----可变参数

可以看到设置getSum的形参为可变参数,可以接收多个参数进行求和,也可以看到求和+的时data[i],本质是是一个数组。比如我们要进行求和操作,但是我们不知道要需要求和的数据个数有多少时,可以使用可变参数。可变形参能够接任意个数据,如果设置多个或者把别的形参设置在可变形参的后面,都会无法起作用。2.可变参数必须放在形参列表的最后面。1.形参列表中可变参数只能有一个。:在形参中接收多个参数,本质是上就是一个数组。:数据类型...参数名称。举例:int...a。

2024-09-14 09:49:19 412

原创 java----TreeMap

比如添加元素,最坏情况下,添加多个元素,形成链表的话,此时TreeMap的效率更高,但是这种这种情况的几率非常少。3.如果一个节点没有子节点或者父节点,则该节点的指针属性为Nil,这些NIl视为叶节点,每个叶节点(Nil)是黑色的;//可以看到,之前讲解第三个参数,代表键重复是否会进行覆盖操作,这里是有开关的,所以支持覆盖的put方法。5.对每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点。:定义对象的排序顺序,允许你为一个类定义多个不同的排序顺序,或者为那些没有实现。

2024-09-13 21:43:10 963

原创 java---HashMap

2.当计算出来的数组位置已经有值时,【JDK8开始时】把新添加的元素直接挂在老元素下面形成新的链表。利用put方法就可以创建数据,put方法底层会创建一个Entry<V,V>对象,然后利用键去计算一个哈希值(当创建一个Hash对象时,默认会创建一个长度为16,默认加载因子为0.75的数组。1.当计算出来的数组位置为null是,会直接添加到对应的位置中。2.没有额外需要学习的特有方法,直接使用Map里面的方法。加入再put进来一个值,它计算的结果也是5:处理方式会有两种。这里使用键计算,跟值没有任何关系!

2024-09-13 14:33:39 1401

原创 java 面向对象-----static关键字

可以看到,三个对象是存储在非静态区,静态属性是存储在静态存储区的,当对象需要调用静态属性时,可以到静态存储区去找。静态存储区时创建的时候就加载进去了,静态存储区的内容是被该类所有对象所共享的,而对象的属性是它们所独有的。2.非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法.静态方法不能访问非静态的成员,可以看到这里的this也是非静态,也解释为什么静态方法中没有this关键字。也就解释了静态的属于类,成员的属于对象。②非静态方法可以访问静态和非静态的成员属性和方法。

2024-09-11 11:21:17 696

原创 java----双列集合(Map)

对象,然后通过getKey()和getValue的方式获得键和值。lambda是遍历的一种新的语法形式,原理也是获得Map.Entry对象,对其进行遍历。:(可以通过map集合里面的keySet方法获的键的集合,然后通过map.get(键)去找值)Map集合:Map集合是双列集合的顶层接口,它的功能是全部双列集合都可以继承使用。2.当存储的键不存在时,返回的值时null.1.当存储的键已经存在时,返回的值就是修改之前的值的值;2.使用Map接口自带的内部接口。的,每个键只能找到自己对应的值。

2024-09-10 19:58:13 670

原创 java--(StringBuilder)

假若我要做以上代码所表达的操作,就是对字符串进行拼接,从上一节我们知道,字符串本身是不可变的,所以每一次拼接都要创建一个新的对象并返回,这里只是拼接三个,如果我要拼接上万个呢?我们从图中可以看到,每次拼接都需要创建一个StringBuilder对象,然后StringBuilder在调用toString方法返回字符串,这种方法每次拼接都要再堆中创建两个对象。可以看到,所有拼接的内容都会往StringBuilder中放,不会创建很多无用的空间,节约内存,提高了效率。那么它是怎么提高字符串的操作效率的呢?

2024-09-09 19:44:35 1317

原创 Java----字符串(String)

直接赋值时,系统都会检查该字符串在串池是否存在,不存在的话则创建新的,存在的话,可以看到字符串常量值"abc"的地址值返回。当s2创建对象的时候,也会去检查常量池中是否有该字符串,若有的话,直接在堆中创建一个新的String对象,这个对象也会指向常量池中的"abc",然后把这个新的String的地址返回,这时就是。首先,从前面的知识我们知道,当对一个字符串进行直接赋值时,它会到常量池先去查找这个字符串,如果没有,则会创建一个新的字符串对象,并将其返回,而不是在原来的基础上进行修改。

2024-09-09 15:54:39 1049

原创 java 多态

面向对象三大特性:封装、继承、多态,今天我们来讲解多态定义:同类型的对象表现出不同的形态这听起来有点抽象,我们举个具体的例子:但是,这样会出现一个问题,不同居民可能会带不同的种类的猫还有的宠物过来寄养,可是你的寄养服务只提供给波斯猫,这样你就失去了很多顾客,而你的规则就是就是你编写的代码,传递类型不对就代表编译失败。于是你就改变了规则,但凡是宠物都可以放到这里寄养。虽然问题得到了解决,但是实在是太麻烦了,需要定义太多的规则,太过冗余。

2024-09-05 21:50:23 1349 1

java-IO流 commons-io and hutool

java-IO流 commons-io and hutool

2024-10-14

java-IO流 commons-io-2.11.0.jar

java-IO流 commons-io-2.11.0.jar

2024-10-14

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

TA关注的人

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