自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring解决循环依赖的机理

从源码中可以看到,spring会先从一级缓存中获取Bean,如果获取不到,则从二级缓存中获取Bean,如果二级缓存还是获取不到,则从三级缓存中获取之前曝光的ObjectFactory对象,通过ObjectFactory对象获取Bean实例,这样就解决了循环依赖的问题。先把所有的单例Bean实例化出来,放到一个集合当中(我们可以称之为缓存),所有的单例Bean全部实例化完成之后,以后我们再慢慢的调用setter方法给属性赋值。也就是说,Bean都是单例的,我们可以先把所有的单例Bean实例化出来,放到。

2025-08-10 22:38:03 317

原创 Bean的生命周期

第一步:实例化Bean第二步:Bean属性赋值第三步:初始化Bean init-method=“initBean”第四步:使用Bean第五步:销毁Bean destroy-method=“destroyBean”

2025-08-10 20:49:17 197

原创 Spring 依赖注入、AOP代理

例如早期的EJB 2.x,要求业务类必须继承特定父类或实现指定接口(如。

2025-08-10 20:03:32 754

原创 Bean的实例化方式

前三种方式中,factory-bean是我们自定义的,factory-method也是我们自己定义的。

2025-08-10 20:00:38 322

原创 设计模式 工厂模式

简单工厂模式又叫做:静态工厂方法模式。Spring中的BeanFactory就使用了简单工厂模式。抽象产品 角色具体产品 角色工厂类 角色。

2025-08-10 13:11:05 180

原创 Bean的作用域

默认情况下,Bean对象的创建是在初始化Spring上下文的时候就完成的。也就是这行代码。

2025-08-10 10:36:57 106

原创 Spring基于XML的自动装配

set方法找到名,然后从id里面找。

2025-08-10 10:28:56 233

原创 java如何确定不同的函数

名字加上参数类型。

2025-07-21 10:50:45 176

原创 Bean的生命周期

Spring框架中的Aware接口允许Bean获取容器相关信息。主要接口包括BeanNameAware、BeanClassLoaderAware和BeanFactoryAware。实现BeanNameAware接口的Bean可以获取其在容器中的名称;实现BeanClassLoaderAware接口的Bean能获取加载它的类加载器实例;而实现BeanFactoryAware接口的Bean可访问所属的BeanFactory。这些回调接口在Bean初始化过程中被调用,为Bean提供了与Spring容器交互的能力。

2025-07-20 16:20:14 113

原创 BeanFactory 和 FactoryBean 的区别

摘要: BeanFactory是Spring IoC容器的核心接口,负责管理Bean的创建和生命周期。FactoryBean则是一种特殊的Bean,用于辅助实例化其他复杂对象。两者关键区别在于:BeanFactory是容器本身,属于"工厂的工厂";而FactoryBean是被容器管理的特殊Bean,属于"工厂的Bean"。FactoryBean需要实现特定接口来定义对象创建逻辑,当需要获取FactoryBean本身而非其生产的对象时,需在bean名称前加"&

2025-07-19 22:00:07 419

原创 resources为什么是类的根目录

在 Java 项目中,resources,是因为它被构建工具(如 Maven/Gradle)默认配置为,编译后其中的文件会被直接复制到(或)目录下,与编译后的.class文件处于同一层级,因此在运行时可以通过直接访问,路径相对于类的根目录。

2025-07-15 21:58:05 178

原创 HTTP常见误区

HTTP协议不仅限于互联网和浏览器使用,它可以在任何TCP/IP网络(包括局域网)中工作,支持传输各种数据类型(JSON、XML等)。虽然典型应用是从服务器传输HTML到浏览器,但HTTP也广泛用于API调用、移动App和物联网设备。该协议采用请求-响应模式,是无状态协议(依赖Cookie/Session管理状态),服务器不能主动推送数据。现代HTTP已发展为支持多种应用场景的通用协议。

2025-07-15 14:41:19 161

原创 A O P

本文介绍了Spring AOP(面向切面编程)的基本概念与实现方式。AOP通过动态代理技术在运行时对目标对象进行功能增强,核心概念包括连接点(JoinPoint)、通知(Advice)、切入点(PointCut)和切面(Aspect)。文章详细讲解了两种切入点表达式:execution表达式和基于注解的方式,并提供了代码示例说明如何抽取公共切入点表达式。此外,还介绍了五种通知类型(前置、环绕、后置、返回后和异常通知)的使用方法,以及如何在不同类中引用切入点表达式。文中包含多个图示帮助理解AOP的执行流程和注

2025-07-06 21:56:29 381 1

原创 RESTful

RESTful是一种网络应用程序架构风格,以Roy Fielding提出的资源为中心理念为核心。其特点包括:使用URI标识资源,通过标准HTTP方法(GET/POST/PUT等)操作资源,保持无状态性,支持缓存和分层系统。设计时应遵循资源命名规范(使用名词复数形式)、正确使用HTTP方法(注意幂等性和安全性)和规范状态码(如200/400/404等)。与传统的动词式URL设计相比,RESTful风格更规范统一,适用于公开API和前后端分离场景,但不适合实时通信等特殊需求。实际应用中需避免常见误区,如URL包

2025-07-05 10:42:18 584

原创 Web MVC

Web MVC架构模式将应用分为模型(Model)、视图(View)和控制器(Controller)三个核心组件。模型处理数据逻辑,视图负责展示,控制器协调用户请求。该模式实现关注点分离,提升可维护性和可测试性。Spring MVC是典型实现,通过DispatcherServlet、HandlerMapping等组件处理请求流程。现代演进包括前后端分离、注解驱动和异步支持。MVC优势在于职责分离、团队协作和组件复用,是Web开发的重要架构模式。

2025-07-01 20:37:59 709

原创 关于knife4j 网页接口文档设置全局变量的请求参数之后,换到另一个接口没有反应

强制刷新浏览器(Ctrl + F5)。清除浏览器缓存,或尝试无痕模式访问。

2025-06-29 20:32:30 95

原创 JSESSIONID Session Cookie

JSESSIONID是 Java Web 应用(如基于 Tomcat、Spring 的服务)用于跟踪用户会话(Session)的,通常以的形式存储在浏览器中。它的核心作用是实现服务器端的会话管理(Session Management),确保用户在不同请求间保持状态。ABC123JSESSIONIDSet-Cookie当用户首次访问网站时,服务器(如 Tomcat)会自动创建一个 Session 并生成JSESSIONID。

2025-06-29 20:07:33 736

原创 java反射

普通类 (如Car)Class对象 (如Car.class)本质你写的代码(模板)JVM创建的元数据对象创建由开发者定义由JVM自动创建内容字段/方法的实现类的描述信息(元数据)用途创建对象 (new Car()反射操作 (位置源代码文件 (.java)JVM内存中。

2025-06-01 12:42:24 585

原创 Mybatis ORM SpringORM

它的核心思想是:在面向对象的编程语言(如 Java, Python, C# 等)中使用的“对象”与关系型数据库(如 MySQL, PostgreSQL, Oracle 等)中存储数据的“表”之间,建立一座桥梁,实现自动的相互转换。Spring 中的 ORM 不是一个独立的 ORM 工具,而是 Spring 框架提供的一套强大的支持机制,用于集成和简化第三方 ORM 框架尤其是 Hibernate 和 JPA)在 Spring 应用程序中的使用。

2025-05-31 17:19:59 332

原创 ubuntu下nginx

我尝试把自己的一个index文件设置为默认,复制到/var/www/html下。帮助找到nginx.conf也就是它的配置文件的位置。找到root /var/www/html。ctrl加f5刷新localhost页面。该路径下面有一个default文件查看。放大看到在静态文件部署的配置路径。sudo nginx -V命令。我用的是ubuntu22。

2025-05-25 17:21:15 257

原创 线程Java

进程中的线程是由CPU负责调度执行的,但CPU能同时处理线程的数量有限,为了保证全部线程都能往前执行,CPU会轮询为系统的每个线程服务,由于CPU切换的速度很快,给我们的感觉这些线程在同时执行,这就是并发。用户每发起一个请求,后台就需要创建一个新线程来处理,下次新任务来了肯定又要创建新线程处理的, 创建新线程的开销是很大的,并且请求过多时,肯定会产生大量的线程出来,这样会严重影响系统的性能。调用线程对象的start()方法启动线程(启动后还是执行run方法的)

2025-05-08 08:38:24 930

原创 Java网络编程

让你的设备跟其他设备交互,实现网络通信。

2025-05-08 08:33:58 274

原创 终端快捷键ctrl c z d

Linux 终端:挂起进程(暂停运行并放入后台)

2025-05-08 08:30:05 266

原创 SQL常见误区

SELECT字段列表FROM表名列表WHERE条件列表GROUP BY分组字段列表HAVING分组后条件列表ORDER BY排序字段列表。。他们的加载顺序。

2025-05-05 14:50:12 306

原创 BOM与DOM(解疑document window关系)

定义与作用BOM(Browser Object Model)提供与浏览器窗口交互的接口,用于控制导航、窗口尺寸、历史记录等浏览器行为window:浏览器窗口的顶层对象,包含全局属性和方法(如 alert())BOM的核心对象是window,而。通过可以直接访问DOM的根节点,这表明DOM在结构上是BOM的子集。

2025-04-24 22:16:41 422

原创 LCS java实现

【代码】LCS java实现。

2025-04-11 20:24:13 103

原创 JavaStream流

在java.util.stream util包下的新增API,可以用于操作集合或者数组的数据。功能强大(提供了很多结合Lambda的API),性能高效(有很多优化),代码简洁(Lambda),可读性好。传统方案用Sream流把stream看成一个传送带,上面有集合中的东西。新方法只需要一行。步骤:1.获取集合或数组的Stream流2.调用流的各种方法。

2024-11-04 19:50:24 421

原创 存储和读写方案

文件存储在磁盘中,而不是内存中。断电或者程序终止,文件还在。广义的文件包括文件夹。不能读写文件里面存储的数据,所以怎么办?用IO流。

2024-11-03 14:21:40 321

原创 Connections工具类

这里支持打乱List,而不打乱Set,因为Set哈希值确定。是一个用来操作集合的工具类。

2024-10-31 19:05:47 207

原创 Java方法中可变参数

可变参数在形参列表中只能有一个,并且放在后面。内部其实就是一个数组。

2024-10-31 18:52:03 248

原创 JavaMap

存储一一对应。

2024-10-30 16:53:57 236

原创 JavaSet集合

打印出的还是张三,并不是我们想象的无重复,去掉多余的张三和李四,这是因为他们的哈希值不一样,在建立哈希表的时候自然被散开了。解决:在学生类中重写1.先令哈希值相同2.重写equals,以此在建立链表的时候判断出相同。

2024-10-27 19:51:16 444

原创 Java集合Connection

一种容器,用来装数据,但是大小是可变的。

2024-10-25 20:35:47 1133

原创 Java泛型Generic

定义类,接口,方法时,同时声明了一个或多个类型变量,如泛型类,泛型接口,泛型方法泛型可以约束在编译阶段能操作的数据类型,并自动检查。如ArrayList List =new ArrayList();E代表element,元素类型,T代表返回值类型,K键类型,V值类型。一般用E就可以。

2024-10-24 18:32:01 410

原创 Java异常

如果企业自己的某种问题,想通过异常来表示。

2024-10-23 14:40:13 354

原创 Java常用API

代表字符串,它的对象可以封装字符串数据,并提供了很多方法完成对字符串的处理。是lang包下的,不需要导包。

2024-10-20 19:37:43 372

原创 Java面向对象高级

Java提供关键字interface定义出接口,这是一种特殊类。JDK 8之前,接口中只能定义常量和抽象方法。接口中定义常量,默认加上括号里面的,(public static final)String MY_NAME=ARVA,括号里面的不写但是会默认加上。(public abstract) void run,括号里面的不写但是会默认加上。接口不能创建对象。接口是用来被类**实现(implement)**的,实现接口的类称为实现类,一个类可以实现多个接口。

2024-10-19 19:20:57 701

原创 Java多态

在继承或实现情况下的一种现象,表现为:对象多态,行为多态。

2024-09-28 19:07:46 423

原创 Java继承

提高代码复用性,因为有的类会有重复内容。extends子类可以继承父类的非私有成员(public)子类对象其实是由子类和父类多张设计图创建出来的对象。

2024-09-25 19:04:08 291

原创 Java面向对象编程

先设计对象的模板(设计图)创建对象的格式:类名 对象名 = new 类名();s1.name=“王祖贤”把数据和对数据的处理(比如打印函数)放到同一个类中。变量存在栈里,变量指向对象,对象存在堆里,对象有类地址,类存在方法区中。

2024-09-24 20:46:33 713

空空如也

空空如也

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

TA关注的人

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