目录
一、自动装配
SpringBoot 自动装配是 SpringBoot 框架中一项核心特性,它极大地简化了 Spring 应用的开发过程,使得开发者能够快速搭建和运行一个独立的、生产级别的应用程序,几乎无需手动配置。
自动装配是 SpringBoot 为了实现"约定大于配置"理念而设计的机制,其核心目标是基于项目中添加的依赖自动配置 Spring 应用上下文,减少或消除传统 Spring 应用中繁琐的 XML 或 Java 配置。
二、SpringBoot核心注解
SpringBoot 能够实现自动装配主要是通过一系列注解实现,下面介绍下其核心注解,只有了解了这些注解才能深入理解 SpringBoot 自动装配的原理
2.1 @SpringBootApplication
这是 SpringBoot 应用的起点,实际上是一个组合注解
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
}
包含了以下三个核心注解:
- @SpringBootConfiguration:标记这个类为一个配置类,其实就是 @Configuration 注解的派生注解,用于声明配置类,其中可以定义 Bean。
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {
}
- @EnableAutoConfgurati