包含主函数的ReadingListApplication在SpringBoot应用程序里有两个作用:配置和启动引导。首先,它是主要的Spring配置类,虽然Spring Boot自动配置免除了很多Spring配置,但还需要进行少量的配置来启动后台自动配置机制。如下:
package readinglist;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ReadingListApplication
{
public static void main(String[] args)
{
SpringApplication.run(ReadingListApplication.class.args);
}
}
@SpringBootApplication开启了Spring的组件扫描和Spring Boot的自动配置功能,实际上,@SpringBootApplication包含三个注解:
- Spring的@Configuration:标明该类使用Spring基于Java的配置;
- Spring的@ComponentScan:启动组件扫描,这样写的Web控制器类和其他组件才能被自动发现并注册为Spring应用程序上下文里的Bean;
- Spring Boot的@EnableAutoConfiguration:开启Spring Boot自动配置的魔力,让你不用再写成篇的配置。
在Spring Boot的早起版本中,你需要在ReadingListApplication类上同时注明这三个注解,但从1.2.0版本开始,只用@SpringBootApplication就可以 。
ReadingListApplication是一个启动引导类,要运行Spring Boot应用程序有几种方式,其中包括传统的War文件部署,但这里Main()方法让你可以在命令行中把应用程序当作一个可执行的JAR文件来运行。这里想SpringApplication.run()传递了一个Reading类的引用。