Spring注解全面解析
文章平均质量分 95
春天来了,Spring注解解析也来了,Spring注解开发模式大大减少了繁琐的XML文件配置,提高了开发效率,同时也为Spring Boot的盛行打下了很好的基础,所以其重要性不言而喻,该专栏全面、综合覆盖、解析相关知识点
shepherd126
这个作者很懒,什么都没留下…
展开
-
Spring Boot自动配置原理详解和自定义封装实现starter
之前我们对Spring的注解导入@Import和注解扫描@ComponentScan分别进行了详细的总结,不清楚的可以点击链接自行阅读了解,基于这些总结的知识点,我们今天可以来分析一下自动配置的实现原理和自己手动封装一个starter了。我们一直在强调约定大于配置,自动配置,条件装配。基于这些特性使得集成其他框架非常简单快捷。使用创建的项目启动、执行也非常简单,只需要执行启动类的main()方法即可,不需要做其他操作,会自动装配相关所需依赖和配置。} }项目推荐。原创 2023-04-07 11:18:36 · 296 阅读 · 0 评论 -
Spring AOP切面编程实现原理
Spring AOP是Spring框架中极为重要的核心功能,和Spring IOC并称为Spring的两大核心模块。顾名思义,AOP 即 Aspect Oriented Programming,翻译为面向切面编程。OOP面向对象编程是纵向地对一个事物的抽象,一个对象包括静态的属性信息、动态的方法信息等。而AOP是横向地对不同事物的抽象,属性与属性、方法与方法、对象与对象都可以组成一个切面,而用这种思维去设计编程的方式叫做面向切面编程。Spring AOP是利用CGLIB 和 JDK 动态代理。原创 2023-07-24 10:14:04 · 173 阅读 · 0 评论 -
Spring注解扫描:ComponentScan使用及原理详解
当下约定大于配置和Spring提供的基于注解配置式开发,解决了繁琐的XML文件配置问题,大大提高了开发效率。基于Spring MVC三层架构框架开发的项目中大量用到等注解,即使这些类在不同包路径下,都能被注入到Spring容器中,然后可以相互之间进行依赖注入、使用。Spring是如何将声明了@Component注解的Bean注入到Spring容器当中的呢?怎么做到bean的类定义可以随意写在不同包路径下?答案就是今天的主角,该注解告诉Spring扫描那些包路径下的类,然后判断如果类使用了等注解,就注入到。原创 2023-04-06 14:14:48 · 3051 阅读 · 0 评论 -
Spring扩展点(一):后置处理器PostProcessor
之前我们对Spring,我们称之为配置类后置处理器。什么是后置处理器呢?其实后置处理器是**Spring提供给我们的一个非常重要的扩展点**,并且Spring内部的很多功能也是通过后置处理器来完成的,的重要性就说明这一点,同时该扩展点也方便Spring与其他框架进行集成,如Spring集成mybatis框架,就是通过后置处理器实现了扫描mapper接口注入到Spring容器中的。Spring框架中大致提供了以下三个核心后置处理器:BeanDefinitionRegistryPostProcessor。原创 2023-04-19 09:36:05 · 552 阅读 · 0 评论 -
Spring循环依赖解决方案
之前我们对Spring Bean生命周期。我们也提到在创建Bean过程中贯穿着循环依赖问题,Spring使用三级缓存解决循环依赖,这也是一个重要的知识点,所以我们下面就来看看Spring是如何使用三级缓存解决循环依赖的。什么是循环依赖?原创 2023-06-13 10:38:40 · 556 阅读 · 0 评论 -
Spring基于AOP事务控制实现原理
对于一个系统应用而言,使用数据库进行数据存储是必然的,意味着开发过程中事务的使用及控制也是必不可少的,当然事务是数据库层面的知识点并不是Spring框架所提出的。使用JDBC开发时,我们使用对事务进行控制,使用MyBatis时,我们使用SqlSession对事务进行控制,缺点显而易见,当我们切换数据库访问技术时,事务控制的方式总会变化,所以Spring就在这些技术基础上,提供了统一的控制事务的接口。Spring的事务分为:编程式事务控制和声明式事务控制。编程式事务控制。原创 2023-07-31 09:52:54 · 149 阅读 · 0 评论 -
Spring Bean生命周期
之前我们在总结Spring扩展点:后置处理器时谈到了SpringBean的生命周期和其对Spring框架原理理解的重要性,所以接下来我们就来分析一下Bean生命周期的整体流程。首先Bean就是一些Java对象,只不过这些Bean不是我们主动newBean的实例化(Instantiation)原创 2023-04-24 10:49:53 · 57 阅读 · 0 评论 -
Spring注解装配:@Autowired和@Resource使用及原理详解
Spring 支持使用@Autowired@Resource注解进行依赖注入@Autowired@Autowired为Spring 框架提供的注解,需要导入包。源码如下/**/**① 按照type在上下文中查找匹配的bean,查找type为Svc的bean② 如果有多个bean,则按照name进行匹配如果有@Qualifier注解,则按照@Qualifier指定的name进行匹配,查找name为svcA的bean如果没有,则按照变量名进行匹配,查找name为svcA的bean③ 匹配不到,则报错。原创 2023-04-12 14:17:58 · 1610 阅读 · 0 评论 -
Spring条件装配注解:@Conditional及其衍生扩展注解
条件装配是一大特点,根据是否满足指定的条件来决定是否装配 Bean ,做到了动态灵活性,starter的自动配置类中就是使用@Conditional及其衍生扩展注解@ConditionalOnXXX做到了自动装配的,所以接着之前总结的 Spring Boot自动配置原理和自定义封装一个starter,今天分析一下starter中自动配置类的条件装配注解。@Conditional:该注解是在spring4中新加的,其作用顾名思义就是按照一定的条件进行判断,满足条件才将bean注入到容器中,注解源码如下:从代原创 2023-04-10 09:46:15 · 174 阅读 · 0 评论 -
Spring注解导入:@Import使用及原理详解
Import是 Spring 基于 Java 注解配置的主要组成部分,@Import注解提供了类似@Bean/***/ Class原创 2023-04-04 10:09:36 · 704 阅读 · 0 评论 -
Spring注解配置:@Configuration 和 @Component 区别及原理详解
**从定义来看, @Configuration 注解本质上还是 @Component,因此 @ComponentScan 能扫描到@Configuration 注解的类。@Component在Spring中是代表LITE模式的配置注解,这种模式下的注解不会被Spring所代理,就是一个标准类,如果在这个类中有@Bean标注的方法,那么方法间的相互调用,其实就是普通Java类的方法的调用。原创 2023-04-03 14:50:46 · 496 阅读 · 0 评论