![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring相关
文章平均质量分 94
Armyyyyy丶
知其然知其所以然。
展开
-
Spring中Endpoint、HasFeatures、NamedFeature和Actuator的关系及实现原理
我们经常可以在Springboot或Springcloud版本中看到Endpoint或Features等字样,但对于这些类的作用知之甚少,文章就这些功能简单分析一下实现原理。原创 2023-09-07 16:57:58 · 522 阅读 · 0 评论 -
Spring框架中使用AOP实现自定义重试切面注解功能
目录一、背景二、使用@Aspect注解实现1.@Retry注解2.@Aspect切面三、切入AOP流程实现切面逻辑1.Advice切面处理类2.Pointcut切面切入点3.Advisor类4.Advisor可插拔式通过@Bean注入到Spring工厂4.1 可插拔式配置类4.2 可插拔式注解开关4.3 注入到Spring工厂的实现原理5.通过BeanPostProcessor接口实现5.1 实现对应的BeanPostProcessor5.2 引入原创 2020-08-03 14:03:46 · 1465 阅读 · 0 评论 -
(三)Spring框架原理之@Configuration及搭配注解接口源码分析(下)
目录一、源码分析1.ConfigurationClassParser解析类1.1 解析配置类的@Component注解1.2 processPropertySource解析@PropertySources注解1.3 ComponentScanAnnotationParser解析@ComponentScan注解1.4 processImports解析@Import注解1.5 retrieveBeanMethodMetadata解析获取@Bean注解2.Configuration原创 2020-07-25 16:56:54 · 289 阅读 · 0 评论 -
(三)Spring框架原理之@Configuration及搭配注解接口源码分析(上)
目录一、相关注解及接口1.相关注解2.相关接口二、流程分析三、源码分析1.ConfigurationClassPostProcessor注册原理1.1 传统Spring的XML配置1.2 Springboot添加方式2.Spring调用BeanFactoryPostProcessor接口3.ConfigurationClassPostProcessor类的执行流程在看本篇时推荐去看一下Spring的大致框架说明。传送门:(一)Spring框架原理之核心架构组成原创 2020-07-25 16:52:14 · 520 阅读 · 0 评论 -
Spring框架中@Scope原型、单例实现原理和使用细节
目录一、@Scope原型、单例实现原理1.@Scope配置单例2.@Scope配置原型3.实现原理二、使用细节1.原型失效示例1.1 Controller1.2 Service2.原型成功示例2.1 第一种生效方式2.2 第二种生效方式三、总结一、@Scope原型、单例实现原理在Spring框架中可以使用@Scope注解声明需要创建的bean是原型或者是单例类型的,如果是原型则每次调用getBean获取到的对象都是不同的;如果是单例则调用getBean原创 2020-07-15 17:27:24 · 1604 阅读 · 2 评论 -
Spring框架中@Lazy延迟加载原理和使用细节
目录一、@Lazy延迟加载原理1.延迟加载原理1.1 @Lazy三种配置方法1.2 @ComponentScan配置延迟加载1.3 加载原理2.延迟加载实现原理2.1 AbstractApplicationContext2.2 DefaultListableBeanFactory二、使用细节1.@Lazy失效实例1.1 Controller非延迟加载类1.2 Service延迟加载类1.3 结果输出2.@Lazy起效实例2.1 修改的Control原创 2020-07-14 15:40:05 · 23569 阅读 · 0 评论 -
(二)Spring框架原理之实例化bean和@Autowired实现原理
目录一、UML类图及流程分析1.UML类图组成2.流程分析二、源码分析1.DefaultListableBeanFactory类实例化bean部分2.AbstractBeanFactory抽象类3.AbstractAutowireCapableBeanFactory抽象类4.DefaultSingletonBeanRegistry类5.AutowiredAnnotationBeanPostProcessor类6.InjectionMetadata类7.Autowi原创 2020-07-11 16:51:00 · 8965 阅读 · 0 评论 -
(一)Spring框架原理之核心架构组成
目录一、UML类图及核心组件分析1.UML类图分析2.核心组件关系二、源码分析前提说明,这个核心架构组成只是个人划分的,不代表官方意见,这样划分只是为了更方便的理解和分析Spring框架。一、UML类图及核心组件分析1.UML类图分析其关键的UML类图如下:看起来稍微复杂了点,但如果按接口的继承关系和作用来划分,我们可以大致分为七个部分:BeanFactory部分:Spring工厂的基本接口,这部分包含了图中每个以BeanFactory结尾的类,其中我们使用的原创 2020-07-11 16:42:41 · 296 阅读 · 0 评论 -
Spring和事务的集成与原理实现
目录一、Spring代码示例1.pom.xml文件相关配置2.application.xml文件配置二、Spring集成原理分析1.Spring事务与AOP的集成1.1 Spring事务和AOP集成流程1.2 TransactionInterceptor类1.3 AOP切入点Pointcut接口2.Spring事务原理执行流程2.1 DataSourceTransactionManager类2.2 PlatformTransactionManager接口2.3原创 2020-06-23 17:46:47 · 242 阅读 · 0 评论 -
Spring和AOP的集成与原理实现
目录一、AOP简介二、AspectJ源码解析1.代码示例1.1 aspect类:1.2 Maven:1.3 applicatioin.xml2.AOP结构组成3.源码分析3.1 AnnotationAwareAspectJAutoProxyCreator类注入流程3.2 spring刷新上下文的调用入口3.3 DefaultListableBeanFactory类3.4 AbstractAutoProxyCreator类4.springboot对AOP的自原创 2020-06-23 17:18:45 · 511 阅读 · 0 评论 -
(四)Spring关键接口之Springboot相关接口
目录一、注解相关接口1.ImportSelector接口2.ImportBeanDefinitionRegistrar接口二、Springboot特殊接口1.EnvironmentPostProcessor接口一、注解相关接口1.ImportSelector接口接口源码如下:public interface ImportSelector { String[] selectImports(AnnotationMetadata importingClassMetada原创 2020-06-22 15:10:20 · 522 阅读 · 0 评论 -
(三)Spring关键接口之工厂相关接口
目录1.FactoryBean接口2.InitializingBean接口3.BeanFactoryAware接口4.BeanPostProcessor接口5.BeanFactoryPostProcessor接口及其子类接口5.1 BeanFactoryPostProcessor接口5.2 BeanDefinitionRegistryPostProcessor接口5.3 接口的调用方法链6.AutowireCapableBeanFactory接口7.SmartInit原创 2020-06-22 15:05:12 · 422 阅读 · 0 评论 -
(二)Spring关键接口之ApplicationContext上下文相关
目录1.ServletContextListener接口2.ApplicationContextInitializer接口2.1 Springboot的集成方式2.2 SpringMVC的集成方式3.ApplicationListener接口及配套类3.1 ApplicationListener接口和配套类ApplicationEvent3.2 ApplicationEventMulticaster接口1.ServletContextListener接口接口源码如下:原创 2020-06-22 14:56:29 · 504 阅读 · 0 评论 -
(一)Spring关键接口之通用可自定义接口
目录1.ResourceLoader接口2.ResourcePatternResolver接口3.Aware接口3.1 ResourceLoaderAware接口3.2 EnvironmentAware接口3.3 EmbeddedValueResolverAware接口3.4 ApplicationContextAware接口3.5 Aware接口调用方法链1.ResourceLoader接口接口源码如下:public interface ResourceL原创 2020-06-22 14:46:58 · 838 阅读 · 0 评论