一、前言文章目录:Spring源码深度解析:文章目录]()二、Spring整体架构Spring Core:框架的最基础部分,提供 IoC 容器,对 bean 进行管理。Spring Context:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能。Spring DAO:提供了JDBC的抽象层,还提供了声明性事务管理方法。Spring ORM:提供了JPA、
转载
2024-04-17 15:11:58
62阅读
lazy 懒加载,主要针对单实例bean,容器启动
原创
2022-11-30 14:22:59
140阅读
@DependsOn用于强制初始化其他Bean。可以修饰Bean类或方法,使用该Annotation时可以指定一个字符串数组作为参数,每个数组元素对应于一个强制初始化的Bean。 @DependsOn({"steelAxe","abc"}) @Component public class Chine
转载
2018-10-08 11:42:00
79阅读
2评论
@DependsOn用于强制初始化其他Bean。可以修饰Bean类或方法,使用该Annotation时可以指定一个字符串数组作为参数,每个数组元素对应于一个强制初始化的Bean。 @DependsOn({"steelAxe","abc"}) @Component public class Chine
转载
2018-08-06 11:07:00
75阅读
2评论
一、参考资料https://github.com/yuanmabiji/Java-SourceCode-Blogs
原创
2022-07-28 14:15:25
297阅读
摘要:本文结合《Spring源码深度解析》来分析Spring 5.0.6版本的源代码。若有描述错误之处,欢迎指正。 前言作为一名开发人员,阅读源码是一个很好的学习方式。本文将结合《Spring源码深度解析》来分析Spring 5.0.6版本的源代码,若有描述错误之处,欢迎指正。Spring是2003年兴起的一个轻量级Java开源框架,旨在解决企业应用开发的复杂性。Spring发展至今,衍
转载
2024-03-20 16:48:28
49阅读
一、Bean的生命过程Bean的生命过程可以借鉴Servlet的生命过程,了解其生命过程对于不管是思想还是以后的使用都很有帮助;Bean可以通过两种方式进行加载,分别是使用BeanFactory 和 applicationContext, 下边就这两种方式进行Bean的声明周期总结:applicationContext:先用一种生命周期流程图来概括;1:Bean的建立:容器寻找Bean的定义信息并
目录@Lazy作用作用解决问题举例@Lazy使用@Lazy原理位置被Spring源码使用处ContextAnnotationAutowireCandidateResolver参与循环依赖解决getLazyResolutionProxyIfNecessarybuildLazyResolutionProxy创建 “虚假的”代理总结 @Lazy作用作用加在Bean上,指示是否要延迟初始化bean。 如
转载
2024-04-08 10:55:20
123阅读
目录动态AOP使用示例创建用于拦截的bean创建Advisor创建配置文件测试动态AOP自定义标签注册AnnotationAwareAspectJAutoProxyCreator注册或者升级AnnotationAwareAspectJAutoProxyCreator处理proxy-target-class以及expose-proxy属性创建AOP代理获取增强器普通增强器的获取增加同步实例化增强器获
转载
2024-05-10 00:31:22
63阅读
源代码:主代码 第1步: 第2步:这里会循环两次,第一次refresh=false第二次为true,这里演示第二次的结果,在其中完成了容器的初始化在refresh()函数中的方法操作如下:1、prepareRefresh();容器刷新前的准备,设置上下文状态,获取属性,验证必要的属性等2、ConfigurableListableBeanFactory b
转载
2024-03-27 21:41:04
33阅读
1.web基础1.servlet3.0新特性Servlet3.0规范是JavaEE6.0规范中的子规范。其要求运行环境最低是JDK6.0, Tomcat7.0而之前学习的是Servlet2.5版本的规范,其是JavaEE5.0规范的子规范。其要求运行环境最低是JDK5.0, Tomcat5.0在Eclipse中使用Serlet3.0规范,则需要在创建动态Web工程时就要指定。其具体用法是,在Ecl
转载
2024-04-03 16:05:35
34阅读
BeanDefinition 实例化Bean,使用反射 BeanDefinition-->Bean 反射可以获取对象的注解、构造器、属性等信息。 Class<?> userClass = Class.forName("com.nisco.system.entity.User"); Construct ...
转载
2021-08-16 08:12:00
114阅读
2评论
spring在我们的java开发中使用很多,IOC作为spring最基础的组件,被大家所熟知,但是spring具体是怎么
原创
2022-12-12 16:21:35
91阅读
1、源代码下载
download:http://www.springsource.org/download
spring 3 download: http://www.springsource.com/download/community
spring 3 source code svn:https://src.springframework.org/svn/spr
原创
2010-11-07 23:19:11
935阅读
一、Java注解 全面解析JAVA注解 JAVA 注解的基本原理
原创
2023-01-05 12:13:11
64阅读
# Spring Boot懒加载配置
## 目录
- [1. 介绍](#1-介绍)
- [2. 懒加载配置步骤](#2-懒加载配置步骤)
- [3. 代码实现](#3-代码实现)
- [4. 总结](#4-总结)
## 1. 介绍
在开发Spring Boot应用程序时,我们通常希望能够延迟加载一些配置,以提高应用程序的启动性能。Spring Boot提供了一种懒加载配置的方式,允许我们将某些
原创
2023-12-10 06:23:54
200阅读
Spring5.1.x源码编译是个没有技术含量,但是很难成功的,折腾了好久,电脑还蓝屏。学习Java,肯定要学Spring框架,学了Spring,找工作肯定问框架源码,学源码你得自己会编译,不然写个注释还得粘贴出来,总的来说,你得学会源码编译。第一步:下载Spring源码+Gradle1.1 观察文档 下载完成后的文件,打开 spring-framework-idea\gradle\wr
转载
2024-04-01 18:14:49
119阅读
学习Java最好最有效的方法是学习Spring,但是最笨最没效的方法也是学习Spring。 为什么这么说呢?道理其实很简单 A、Spring很庞大,很完善,也非常的底层,如果我们学会的Spring,那么也就掌握了很多的技术的核心,也了解了很多的开发思想,所以说他是最好也是最有效的; B、但就是因为Spring很庞大,很完善,所以学习起来本身就是一件很枯燥,很难坚持下去的一件事情,放弃的人也占了大多
转载
2024-04-06 13:42:24
86阅读
AOP中的几个概念 Advisor 和 Advice Advice 我们通常都会把他翻译为通知,其实很不好理解,其实他还有另外一个意思,就是“建议”,我觉得把Advice理解为“建议”会更好。就是代理的逻辑。 比如,我们已经完成了一个功能,这时客户跟我们说,我建议在这个功能之前可以再增加一些逻辑,再 ...
转载
2021-07-14 22:05:00
369阅读
2评论
Spring(这里的Spring指的是Spring中所有的框架集合)中有很多注解,但常用的也就那么多。下面据简单的介绍下常用的注解使用:
一、IOC容器
初始化Bean的两种方式:
1)通过@ComponentScan和@Controller;@Repository;@Component;@service四种搭配声明
转载
2024-03-23 11:23:20
41阅读