开篇想法
接下来是打算来总结关于Spring内部运行流程的机制。在工作中,笔者之前更多的是关于Spring Boot关于Web间的开发,那么Spring内部黑盒是如何实现的,又是如何与其他组件进行关联的,这些对我而言既神秘又充满诱惑力,顾打算先从Spring入手,一步步把Spring全家桶的基本原理摸清楚,知其所以然,可以更好的扩展业务开发需求。
切入口
本系列打算以注解配置下进行切入,主要原因是配置注解相对比较简单方便,并且在目前Spring Boot的横行的情况下,基本都是使用注解配置。
阅读准备
本文的源码阅读是基于Spring-5.1.9版本,要做的准备也比较简单,只需在pom下引入:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
即可,我们是通过测试方法一起结合进行讲解的。
今日目标
今天第一天,主要是混个脸熟。我们先看下关于注解配置下的注解有哪些。下面我列举下我所了解并常用的注解。简单的划分一下:
配置类上的注解
- @ComponentScan 、@ComponentScans
- @Import、@ImportResource
配置类中方法的注解
- @Bean
- @Scope
- @Lazy
- @Primary
其他常用注解
- @Service、@Component
- @Autowired
- @Conditional
大致是这些,肯定会有遗漏,但无伤大雅,之后如发现会继续补充。
今日总结
今天其实啥干货都没有,主要还是用来给自己立了一个Flag,如果有同学最近也想看关于Spring的内部黑盒运行模式,可以持续关注我一下~ 最后给自己鼓个劲~