概要
不使用 spring-boot-starter-partent
从第 1 章的介绍中,了解到在向 pom.xml 文件中添加以来之前需要先添加 spring-boot-starter-parent . spring-boot-starter-parent 主要提供了如下默认配置:
- Java 版本默认使用 1.8
- 编码格式默认使用 UTF-8
- 提供 Dependency Management 进行项目依赖的版本控制与管理
- 默认的资源过滤与插件配置
spring-boot-starter-parent 虽然方便,但是在公司中,开发微服务项目或多模块项目时一般需要使用公司自己的 parent,这个时候,如果还想进行项目依赖版本的统一管理,就需要使用 dependency Management 来实现了。添加如下代码到 pom 文件中:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.8.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
此时,就可以不用继承 spring-boot-starter-parent 了,但是 Java 的版本、编码的格式等都需要开发者手动配置。Java 版本的配置很简单,添加一个 plugin 即可:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
至于编码问题,如果采用了 简便创建方式 创建SpringBoot 项目,那么编码格式默认会加上;如果是通过普通 Maven 项目配置成的 SpringBoot 项目,那么在 pom.xml 文件中,加入如下配置即可:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
@SpringBootApplication
在前面介绍中,我们已经了解到 @SpringBootApplication 注解是加在项目的启动类上的。@SpringBootApplication 实际上是一个组合注释,定义如下:
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
@ComponentScan.Filter(type = FilterType.CUSTOM,classes = TypeExcludeFilter.class),
@ComponentScan.