该篇文章项目地址https://gitee.com/gtfgtf/ttchrcgx.git day02分支
在顶级项目中的 pom.xml 中配置如下类容
<!-- 设置资源属性-->
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<!-- 依赖包版本管理 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/>
</parent>
<!-- 配置仓库地址,加速依赖包的下载 -->
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<!-- 排除 spring 自己的日志,后续需要整合其他的日志框架-->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 配置文件解析,boot 默认对 yml 支持,其他格式的需要引入该依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
api 项目
添加启动类 Application.java
package cn.mrcode.foodiedev;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
添加测试 HelloController.java
package cn.mrcode.foodiedev.api.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public Object hello() {
return "Hello Word";
}
}
maven 和 gradle 使用上还不太相同,感觉每次陪着完都需要执行下 install,才能正常运行。
在 resources 下增加 application.yml
server:
port: 9000
启动项目后访问 http://localhost:9000/hello 能响应信息则说明初步整合成功了。
有关包名的说明
下一章会讲解 SpringBoot 的自动装备内容,为了使用默认扫描配置,我们这里的策略是如下所示
cn.mrcode.foodiedev
|- Application.java # 放置的是 api 的 Application 类
|- api
|- pojo
|- mapper
因为我们的启动应用在 api 里面,但是这里将 Application 放置在包 api 的同级目录下,那么它默认扫描的包路径则是 cn.mrcode.foodiedev,那么此路径下的其他模块被 api 引用之后,不需要额外的配置就可以扫描到他们里面的这些注解配置了