主程序类,入口类
@SpringBootApplication public class helloworld { public static void main(String[] args) { SpringApplication.run(helloworld.class,args); //启动应用 } }
SpringBootApplication:标注在某个类上说明他是主配置类。spring boot就应该运行这个类的main方法来启动spring boot应用,
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration//配置类标注在某个类上表示这是一个spring boot的配置类 点进去configuration是最低层的配置文件这是spring标注的注解配置类也是容器中的组件 @EnableAutoConfiguration//自动开启配置功能,以前需要配置的东西spring boot帮我们配置了,加上这个注解就可以自动配置。这样自动配置的功能就会生效,原理: 点进去看到
@AutoConfigurationPackage//自动配置包再点进去: //将主配置类所在包以及下面所有子包的所有组件都扫描一遍,
@Import({Registrar.class})//这个import就是spring的底层注解这个类来决定导入哪个组件。点金这个类可以看到metadata,寻找包名
@Import({EnableAutoConfigurationImportSelector.class}) public @interface EnableAutoConfiguration
@ComponentScan( excludeFilters = {@Filter( type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class} ), @Filter( type = FilterType.CUSTOM, classes = {AutoConfigurationExcludeFilter.class} )} ) public @interface SpringBootApplication