Spring 框架核心组件之一是 IOC,IOC 则管理 Bean 的创建和 Bean 之间的依赖注入,对于 Bean 的创建可以通过在 XML 里面使用<bean/>标签来配置,对于 Bean 之间的依赖可以使用构造方法注入、Set 方法注入在 XML 里面配置。使用这种方式会使
XML 变的比较臃肿庞大,并且还需要开发人员一个个的在 XML 里面配置 Bean 之间的依赖,这简直是一个灾难,还好 Spring 框架给我们提供了一系列的注解让开发人员从这个灾难中解脱出来,比如在一个类的成员变量上标注了一个简单的@Autowired 注解就可以实现了 Bean 之间的自动依赖注入,在一个类上标注了一个简单的@Component 注解就可以让一个 Bean 注入到 Spring 容器..……而 Spring 框架是如何通过注解简化我们的工作量,实现这些功能的。本 Chat 就来解开这神秘的面纱。
本 Chat 主要内容如下:
- 我们经常使用@Autowired,@Required 进行依赖注入,那么为何能够直接使用?它又是如何工作的?
- 我们经常使用的@Configuration,@Import,@Bean 注解又是如何工作的?
- 我们经常使用@PropertySource 引入配置文件,那么配置文件里面的配置是如何被注册到 Spring 环境里面的?
- Spring 框架是如何把标注@Component 的 Bean 注入到容器?@ComponentScan 注解又是如何把扫描的类注入到容器的?