Spring Boot的核心注解组成
初始SpringBoot
Spring BootSpring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置;简述为“规约大于配置”的原则
Spring Boot的核心注解
@SpringBootApplication
使用 @SpringBootApplication标注的类是 Spring Boot 项目的主配置类,也就是主程序类。它是用于启动SpringBoot项目package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ImportResource;
@SpringBootApplication //开启组件扫描和自动配置
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@SpringBootApplication里面包含两个注解,分别是@SpringBootConfiguration、@EnableAutoConfiguration。
@SpringBootConfiguration //主要用于文件配置与配置spring监听器
@EnableAutoConfiguration //使Spring Boot可以实现自动配置
//自动扫描并加载符合条件的组件(比如@Component和@Repository等)或者bean定义
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {}
@SpringBootConfiguration
继承于@Configuration,他们的功能也是一样,标注当前类是配置类,
并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中
@Configuration
public @interface SpringBootConfiguration {
}
@EnableAutoConfiguration
@EnableAutoConfiguration它是使Spring Boot可以实现自动配置(1)@AutoConfigurationPackage
@AutoConfigurationPackage可以找到使用@SpringBootApplication 标注的主配置类所在的包,并将该包及其所有的子包全部加入 Spring 容器中
(2)@Import
@Import可以实现将 Spring Boot 项目中所有第三方依赖采用自动配置的方式导进项目