Springboot引导类拆解:有关@SpringBootApplication注解、main()方法

编程

尽管在这个类中只有很少的代码,但是它包含了很多的知识点。其中,最强大的一行代码也是最短的。@SpringBootApplication注解,这是一个组合注解,它组合了3个其他的注解:

  • @SpringBootConfig:将该类声明为配置类,尽管这个类目前还没有太多配置,但是后续我们可以按需添加基于Java的Spring框架配置,这个注解实际上是@Configuration注解的特殊形式
  • @EnableAutoConfiguration: 启用Spring boot的自动配置,我们现阶段只需要知道这个注解会告诉Spring boot自动配置它认为我们会用到的组件
  • @ComponentScan:启用组件扫描,这样我们能够通过像@Component、@Controller、@Service这样的注解声明其他类,Spring会自动发现它们并将它们注册为Spring应用上下文中的组件。

@SpringBootApplication = @Configuration + @ComponentScan + @EnableAutoConfiguration

源码如图:

 

TacoCloudApplication另外一个很重要的地方是它的main()方法,这个是JAR文件执行的时候要运行的方法。在大多数情况下,这个方法都是样板代码,我们编写的每个Spring boot应用都会有一个类似或完全相同的方法(类名不同另当别论)。

这个main()方法会调用SpringApplication中的静态的run()方法,后者会真正执行应用的引导过程,也就是创建Spring应用上下文。在传递给run()的两个参数中,一个是配置类,另一个是命令行参数。尽管传递给run()的配置类不一定要和引导类相同,但这是最便利和最典型的做法。

以上是 Springboot引导类拆解:有关@SpringBootApplication注解、main()方法 的全部内容, 来源链接: utcz.com/z/514218.html

回到顶部