在上篇文章中,我们创建了一个RESTFul风格的接口项目,并且分析了它的相关依赖,这里我们就来看一下这个项目还有什么值得我们分析的地方。前面提到的,在SpringBoot的场景启动器中,我们提供了一些自动配置的功能,那么在之前我们也说过,这些自动配置,除了可以自动配置之外,还可以由程序员来自行根据需求进行配置。那么下面我们就从配置文件入手开始详细说明?
什么是配置文件?
在之前的项目中我们看到在resource目录中有一个application.properties的文件,现在我们习惯使用application.yml配置文件,其实二者所实现的效果是一样的。
在Spring Boot中为开发者提供了很多的场景启动器,并且这些启动器的配置信息并不是在内部写死的,例如配置数据库、配置中间件、配置服务的端口号这些内容。在Spring Boot中统一使用了Properties类对这些配置进行了抽象。
在Spring启动的时候可以通过对应的配置前缀进行读取相应的配置值。我们来通过一段简单的源码来分析一下。在WebMvcAutoConfiguration配置类中,找到了Spring MVC相关配置的配置项,会看到有如下一个配置类。其中@ConfigurationProperties(prefix = “spring.mvc”)就表示它的访问前缀,在这之后跟的都是对应的配置项,以及配置的值。在项目启动的时候就可以自动装配到项目中并且运行起来。
@ConfigurationProperties(prefix = "spring.mvc")
public class WebMvcProperties {
关于配置文件的内容,在后续的深入介绍中还有更加详细的介绍。这里就不在深入介绍。
启动类介绍
在我们演示Hello World项目的时候,提到了一个概念就是启动项目,那么如何启动项目呢。就需要启动类的帮助。我们知道无论是什么样的程序,它都有一个main方法作为所有程序代码的入口,Spring Boot项目也不例外,既然没有外部容器作为启动运行的环境,那么在Spring Boot中提供了如下的一些操作来完成项目启动的操作。