@SpringBootApplication
此注解是一个复合注解,所谓复合注解指的是此注解是其他若干个注解的合体,相当于将其他若干的注解的功能合而为一了。
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan
@SpringBootConfiguration
读取配置文件
会自动读取SpringBoot配置文件,包括application.propertis(.yml)、banner.txt、bootstrap.properties
标识当前类为配置类
此注解也是一个复合注解,内部包含了@Configration注解,所以此注解标识的类本身就是一个配置类。
@EnableAutoConfiguration
根据当前引入的包自动生成配置信息,基于约定大于配置的原理,减少开发人员的所需的配置内容。
**具体来说,此注解工作时,会去加载jar包中的config相关jar(spring-boot-autoconfigure-1.5.9.RELEASE),解析其中的META-INF/spring.factories配置文件,根据其中的信息自动进行相应配置。
@Configuration
用在类上,可以将当前类变成Spring配置类,在这个类上进行Spring相关的配置,等价于配置applicationContext.xml文件,在其中可以使用下面几个注解进行相关配置。
**要注意,被@Configration标注的类本身必须能被Spring扫描到其上的配置才能起作用。
@ComponentScan
将指定包加入包扫描,如果不指定,则将当前类所在包及其子孙包加入包扫描。
等价于配置applicationContext.xml文件中的context:component-scan
@Bean
可以标注在一个方法,表明此方法返回的对象要被注册为Spring中的一个Bean。
等价于配置applicationContext.xml中的
@Value
可以在springBoot的核心配置文件中配置自定义的属性,之后再bean中可以通过@Value进行引用,实现DI。
@ImportResource
告知Spring容器额外加载一个xml文件作为Spring的配置信息来使用。