- 1 导入相关jar包文件
- 2 SpringBoot主启动类的说明
- @SpringBootApplication public class SpringbootDemo1Application {
public static void main(String[] args) {
SpringApplication.run(SpringbootDemo1Ap plication.class, args); }
} - 执行过程:
1.main方法执行,通过加载当前的主启动类.并且加载主启动类中的注解
@SpringBootApplication
2. 分析主启动类注解
@SpringBootApplication
public class SpringbootDemo1Application
{
public static void main(String[] args) {
SpringApplication.run(SpringbootDemo1Application.class, args);
}
}
SpringApplication.run(SpringbootDemo1Application.class, args);
3.@SpringBootApplication注解分析
@Target(ElementType.TYPE) //标识该注解对类有效
@Retention(RetentionPolicy.RUNTIME) //运行期该注解有效
@Documented//文档说明
@Inherited//可以被继承
//上述4个注解称之为元注解 修饰注解的注解.
@SpringBootConfiguration
@EnableAutoConfiguration
//excludeFilters排除某些类源码级别考量,如果不排除可能会导致jar包导入冲突
@ComponentScan(excludeFilters = {@Filter(type = FilterType.CUSTOM,
classes =TypeExcludeFilter.class),@Filter(type =FilterType.CUSTOM, classes =
AutoConfigurationExcludeFilter.class) })
public @interface
SpringBootApplication {…}
4 @SpringBootConfiguration注解分析
说明:该注解的作用标识主启动类也是一个配置类,主要的作用就是当主启动类执行时,可以扫描当前包下的所有配置类.
5.@EnableAutoConguration 该注解的主要的作用就是加载pom.xml文件中的自动的依赖项.
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration //标识该类是一个配置类(配置文件)…
public @interfaceSpringBootConfiguration {…}
6.@AutoCongurationPackage 该注解表示自动的配置包.
作用:根据主启动类的包路径,执行包扫描的操作. 扫描主启动类下边的所有子孙包. 以后写代码的时候,必须在主启动类的子孙包中进行.
7.@Import(AutoCongurationImportSelector.class)
说明:该注解表示自动配置的选择器. 该选择器中初始化了SpringBoot的全部需要加载配置的功能!!!.如果用户通过pom.xml文件导入某些依赖项.如果恰好与选择器关联.则自动的运行相关配置.