- 博客(24)
- 收藏
- 关注
原创 SpringIoc实践与应用--注解方式
配置繁琐冗长;缺乏类型安全;IDE支持有限;与代码分离增加了维护的理解和难度;可读性差XML标签在嵌套层次深时可读性下降。
2025-08-19 10:57:57
774
原创 SpringIoc 实践和应用--XML配置
FactoryBean` 接口是Spring IoC容器实例化逻辑的可插拔性点。// 实现FactoryBean接口时需要指定泛型// 泛型类型就是当前工厂要生产的对象的类型@Override// 方法内部模拟创建、设置一个对象的复杂过程@Override// 返回要生产的对象的类型配置实现-- FactoryBean机制 -->
2025-08-10 22:10:09
999
原创 Spring Ioc容器核心概念(用Ioc和DI代码前后之间的对比)
Spring管理组件的容器,就是一个复杂的容器,不仅能存储组件,也可以管理组件之间的依赖关系,并且创建和销毁组件等。Spring Ioc容器负责实例化,配置和组装组件(bean)。容器通过读取配置元数据来获取有关要实例化,配置和组装的指令。配置元数据以XML,JAVA注解或Java代码的形式表现。
2025-08-05 22:24:46
911
原创 JavaWeb开发--用户管理系统(简单的CRUD适合初学者--附源码)
【代码】JavaWeb开发--用户管理系统(简单的CRUD适合初学者--附源码)
2025-08-04 11:37:11
161
原创 Spring AOP基于注解方式实现和细节(二)
动态代理: JDK原生的实现方式,需要被代理的目标类必须实现接口。因为这个技术要求代理对象和目标对象实现同样的接口(两个兄弟是拜把子的关系)cglib:通过继承被代理的目标类(认干爹模式)实现代理,所以不需要目标类实现接口。AspectJ:早期的AOP实现的框架,SpringAOP借用了ApectJ中的AOP注解。
2025-07-24 19:04:16
291
原创 Spring AOP面向切面编程的基本介绍(一)
横切关注点:从每个方法中抽取出来的同一类非核心业务。在同一个项目中,我们可以使用多个横切关注点对相关方法进行多个不同方面的增强。这个概念不是语法层面天然存在的,而是根据附加功能的逻辑上的需要:有十个附加功能,就有十个横切关注点。通知(增强):每个横切关注点上要做的事情都需要写一个方法来实现,这样的方法就交通知方法;主要分为以下几种。前置通知:在被代理的目标方法前执行返回通知:在被代理的目标方法成功结束后执行(寿终正寝)异常通知:在被代理的目标方法异常结束后执行(死于非命)
2025-07-16 22:43:44
918
原创 在IDEA中更换jdk版本
在IDEA中更换jdk版本:这里以jdk1.8更换到jdk21为例。2.点击文件选项-选择项目结构。3选择对应的jdk版本。
2025-07-07 21:54:48
326
原创 SpringFramework从入门到进阶(一)
Spring可以理解为一套技术体系其中包含:Spring Framework、Spring MVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 等,其中 Spring Framework 是其他子项目的基础。Spring Framework是一个开源的应用程序框架,由SpringSource公司开发,最初是为了解决企业级开发中各种常见问题而创建的。
2025-07-07 21:26:31
863
原创 Maven核心功能依赖和构建管理
依赖管理是Maven的最重要的功能之一。Maven的依赖能够高效解决软件包依赖的问题,使得开发人员能够自动解决开发模块或第三方框架集成到自己的应用程序或模块中,可以极大避免版本冲突和依赖缺失的问题。通过pom文件,我们可以在Maven中能够自动解析项目的依赖关系,并通过Maven仓库自动下载和管理依赖,从而避免了手动下载和管理依赖的繁琐工作和可能引发的版本冲突问题。***编写pom文件***
2025-07-04 16:17:32
740
原创 Maven入门和进阶
指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!packaging 属性为 jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。packaging 属性为 war,代表Java的web工程,打包以后.war结尾的文件。packaging 属性为 pom,代表不会打包,用来做继承的父工程。
2025-06-26 16:35:23
569
原创 Java反射之类加载的三个主要阶段
3.虚拟机会保证一个类的<clinit>()方法在多线程环境中被正确的加锁,同步,如果多个线程同时去初始化一个类,那么只会有一个线程去执行这个类<clinit>()方法,其他线程都需要阻塞等待,直到活动线程执行<clinit>()方法完毕。2.<clinit>()方法是由编译器按语句在源文件中的出现顺序,依次自动收集类中的所有静态变量的赋值动作和静态代码块中的语句,并进行合并。(1)主要是为了确保Class文件的字节流中包含的信息是否符合当前虚拟机的要求,并且不会损害虚拟机的自身的安全。
2025-05-13 22:50:59
411
原创 Java之IO流:节点流和处理流(模拟修饰器设计模式)
代码块1:创建BufferReader_类,继承抽象类Reader_,里面的构造方法可以传入不同的类型比如FileReader_和StringReader_这两个类,通过可以调用BufferReader_中的不同的来达到对应数据源的操作。简单点来说就是在创建BufferReader_这个类的时候,传入对应的数据源对象,然后根据传入的对象,调用相应的方法。处理可以根据传入对象的不同,进而可以访问更详细的数据源,比如数组,文件等。处理流:在已经存在的流的基础之上,为程序提供更强大的读写功能。
2025-05-07 19:12:03
134
原创 索引的创建与设计原则
MySQL的索引包括普通索引,唯一性索引,全文索引,单例索引,多列索引和空间索引。创建组合索引:INDEX 索引名(字段1,字段2,字段3,......);为可选参数,表示索引的长度,只有字符串类型的字段才能指定索引长度;创建唯一索引:unique index 索引名(字段名);创建单例索引:INDEX 索引名(字段名(前缀长度));为可选参数,分别表示唯一索引、全文索引和空间索引;修改主键索引:必须先删掉原索引,然后再进行ADD;为同义词,两者的作用相同,用来指定创建索引;指定升序或者降序的索引值存储。
2024-08-26 21:20:01
796
原创 数组中的双指针法
数组中的双指针法:用两个数组进行改造得到新的数组,将新的数组返回即可达到题目要求。移动到数组的末尾,同时保持非零元素的相对顺序。元素的顺序可能发生改变。,编写一个函数将所有。
2024-07-16 17:13:14
237
原创 C语言(数据结构):单链表的创建,打印及删除最大值
1.下面的以头插法建立一个单链表,此单链表当从键盘上输入的值为0时,结束输入。2.打印最大值结点,(循环遍历)
2024-06-22 13:58:14
197
原创 关于DBeaver的多条数据同时插入报错的修改
右击localhost->选择编译连接->点击驱动属性->allowMultiQueries将这个变量的值从false修改为true,然后点击确定,注意:此时要重新将建表进行数据插入,如果没有再次运行插入的代码时仍会报错。
2024-06-21 22:34:05
1352
原创 java中集合
所有实现了collection接口的集合类都有iterator的方法,可以返回一个迭代器。增强for循环可以替代iterator,可以说是就是简化版的itrerator。Iterator对象称为迭代器,主要用于遍历collection集合中的元素。iterator仅仅用于遍历集合,本身不存放对象。4collection接口遍历元素的两种方式。快速生成while循环的快捷键盘itit。3.Collection接口及常用方法。1.迭代器(Iterator)2.主要的两大集合体系。
2024-04-05 15:10:47
577
1
原创 集合中两种重要的类的比较
无参构造器第一次为0,满后就按2倍的扩容。如果指定大小每次按2倍的大小扩容。1可以动态保存任意多个对象,使比较起来比较方便。3使用集合对元素的增删改查更加方便。2提供了一系类操作对象的方法。有参构造器为1.5倍。无参构造器第一次为0。
2024-03-30 16:44:30
168
原创 css引入方式三种比较
优点:完全实现结构与样式的全部分离,但是需要引入,可控制多个页面。优点:书写方便,在HTML文件的head标签内,可控制一个标签。优点:部分样式结构与样式分离,使用较多可控制一个页面。
2024-03-18 22:05:48
445
原创 关于解决switch-case中case后是否能加值的范围的解决方法,定义函数这样可以返回常量,满足case后的需求
【代码】关于解决switch-case中case后是否能加值的范围的解决方法,定义函数这样课返回常量,满足case后的需求。
2024-03-09 10:41:05
431
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人