Spring基于AOP事务控制实现原理

2023-07-31
阅读 16 分钟
777
对于一个系统应用而言,使用数据库进行数据存储是必然的,意味着开发过程中事务的使用及控制也是必不可少的,当然事务是数据库层面的知识点并不是Spring框架所提出的。使用JDBC开发时,我们使用connnection对事务进行控制,使用MyBatis时,我们使用SqlSession对事务进行控制,缺点显而易见,当我们切换数据库访问技术时...

Spring循环依赖解决方案

2023-07-31
阅读 11 分钟
1.5k
之前我们对Spring Bean生命周期和Bean实例化、属性填充、初始化、销毁等整体流程进行全面分析与总结,不熟悉的可查看:Spring Bean生命周期。我们也提到在创建Bean过程中贯穿着循环依赖问题,Spring使用三级缓存解决循环依赖,这也是一个重要的知识点,所以我们下面就来看看Spring是如何使用三级缓存解决循环依赖的。

Spring Bean生命周期详解

2023-07-31
阅读 12 分钟
1.8k
之前我们在总结Spring扩展点:后置处理器时谈到了Spring Bean的生命周期和其对Spring框架原理理解的重要性,所以接下来我们就来分析一下Bean生命周期的整体流程。首先Bean就是一些Java对象,只不过这些Bean不是我们主动new出来的,而是交个Spring IOC容器创建并管理的,因此Bean的生命周期受Spring IOC容器控制,Bean生...

Spring扩展点(一):后置处理器PostProcessor

2023-07-31
阅读 11 分钟
1.1k
之前我们对Spring相关注解进行全方面的解析与总结,在此期间反复提到了一个核心配置解析类:ConfigurationClassPostProcessor,我们称之为配置类后置处理器。什么是后置处理器呢?其实后置处理器是Spring提供给我们的一个非常重要的扩展点,并且Spring内部的很多功能也是通过后置处理器来完成的,ConfigurationClassPost...

Spring条件装配注解:@Conditional及其衍生扩展注解

2023-07-31
阅读 5 分钟
483
条件装配是Spring Boot一大特点,根据是否满足指定的条件来决定是否装配 Bean ,做到了动态灵活性,starter的自动配置类中就是使用@Conditional及其衍生扩展注解@ConditionalOnXXX做到了自动装配的,所以接着之前总结的 Spring Boot自动配置原理和自定义封装一个starter,今天分析一下starter中自动配置类的条件装配注解。

Spring Boot自动配置原理详解和自定义封装实现starter

2023-07-31
阅读 15 分钟
1.4k
之前我们对Spring的注解导入@Import 和 注解扫描@ComponentScan分别进行了详细的总结,不清楚的可以点击链接自行阅读了解,基于这些总结的知识点,我们今天可以来分析一下Spring Boot自动配置的实现原理和自己手动封装一个starter了。

Spring注解导入:@Import使用及原理详解

2023-07-31
阅读 18 分钟
1.5k
@Import 是 Spring 基于 Java 注解配置的主要组成部分,@Import 注解提供了类似 @Bean 注解的功能,向Spring容器中注入bean,也对应实现了与Spring XML中的<import/>元素相同的功能,注解定义如下:

Spring注解扫描:ComponentScan使用及原理详解

2023-07-31
阅读 15 分钟
3.4k
当下Spring Boot之所以能成为主流首选开发框架,得益于其核心思想:约定大于配置和Spring提供的基于注解配置式开发,解决了繁琐的XML文件配置问题,大大提高了开发效率。基于Spring MVC三层架构框架开发的项目中大量用到@Controller, @Service...等注解,即使这些类在不同包路径下,都能被注入到Spring容器中,然后可以...

Spring注解装配:@Autowired和@Resource使用及原理详解

2023-07-31
阅读 12 分钟
1.7k
@Resource和@Autowired都是实现bean的注入,在日常开发中使用非常频繁,但是使用体验不太一样,笔者喜欢用@Resource,因为在使用@Autowired时IDEA会出现一些警告爆红提示:

Spring注解配置:@Configuration 和 @Component 区别及原理详解

2023-07-31
阅读 11 分钟
815
随着Spring Boot的盛行,注解配置式开发受到了大家的青睐,从此告别了基于Spring开发的繁琐XML配置。这里先来提纲挈领的了解一下Spring内部对于配置注解的定义,如@Component、@Configuration、@Bean、@Import等注解,从功能上来讲,这些注解所负责的功能的确不相同,但是从本质上来讲,Spring内部都将其作为配置注解进...

Spring AOP切面编程实现原理

2023-07-31
阅读 14 分钟
884
Spring AOP是Spring框架中极为重要的核心功能,和Spring IOC并称为Spring的两大核心模块。顾名思义,AOP 即 Aspect Oriented Programming,翻译为面向切面编程。OOP面向对象编程是纵向地对一个事物的抽象,一个对象包括静态的属性信息、动态的方法信息等。而AOP是横向地对不同事物的抽象,属性与属性、方法与方法、对象...