上篇文章简单介绍了 Spring Boot(Spring Boot 详细简介!),还没看到的读者,建议看看。
下面,介绍一下如何创建一个 Spring Boot 项目,以及自动生成的目录文件作用。
Maven 构建项目
访问 http://start.spring.io,选择
- 构建 Maven 项目、
- Java 语言、
- Spring Boot 版本(发文之前的稳定版为 2.4.1)
- Group:公司英文简写
- Artifact:项目唯一标识
- Name:项目名称,建议使用英文
- Description:项目描述
- Package name:包名,一般为公司英文简写,和Group类似
- Packaging:打包方式,目前大部分都是 Jar 包
- Java:Java 版本,我这里选择 8
最后点击底部的【GENERATE】,这时就会自动下载压缩包。
接着使用 Idea 导入选择已解压的文件目录即可
Idea 构建项目
这里以 IntelliJ IDEA 为例。
- 依次选择 File -> New -> Project,在弹窗框中,选择左侧的 Spring Initializr
- 填写上面类似的内容,然后点击 Next
- 最后确定无误后,点击 Finish即可
项目结构介绍
如上图所示,Spring Boot 项目结构如下
- src/main/java 主程序入口和项目开发
- src/resources 项目配置文件
- src/test/java 测试程序
此外,建议在包名(我的是com.geshanzsq)下分别新建 controller、domain、service、mapper,这些分别表示
- controller:页面访问控制,也就是 api,
- domain:主要用于实体类和数据访问层(mapper)
- service:业务处理
- SpringBootProjctApplication.java:主程序,创建项目时会自动创建,一般为项目名称+Application.java
最后,启动 SpringBootProjctApplication 主程序。这样就完成 Java 项目配置了。
注:controller、domain、service、mapper 包,需要放在 SpringBootProjctApplication.java 主程序同包名或放在主程序下,否则主程序会扫描不到,导致报错。
Web 模块
在配置之前,先说明一下 pom.xml 文件。此文件包含 Spring Boot 版本、项目基本信息、第三方 Jar 包 Maven 引用。
所以,我们引用 Web 模块时,需要在 pom.xml 的 dependencies 添加以下代码
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
其中,pom.xml 有两个默认的 模块
- spring-boot-starter:Spring Boot的核心启动器,包含了自动配置、日志和YAML。
- spring-boot-starter-test:支持常规的测试依赖,包括JUnit、Hamcrest、Mockito以及spring-test模块。
编写 Controller api 内容
在 controller 包下新建 TestController.java,内容如下
@RestController
public class TestController {@GetMapping("/test")public String test() {return "你好,我是 Spring Boot 项目测试!";}
}
这时,我们启动主程序,在浏览器输入localhost:8080/test,就可以看到返回的结果。是不是很简单,只需要很少的配置,就可以创建一个 Java Web 项目了。
resouces application 配置
resources 下有个 application.properties文件,此文件是配置项目各种信息。比如:端口号、服务名称、数据库配置、redis配置等。端口号默认为 8080,所以上面访问时的端口为 8080。
由于 yml 配置比较美观,我一般都是把 application.properties 改为 application.yml。
总结
使用 Spring Boot 可以快速简单的构建项目,无需繁琐的配置。我们不用关心各框架直接的兼容,当我们想用某个依赖时,只需简单的引入和配置就可以了。非常方便我们构建项目,适用于各种单体和微服务项目!
实践才能检验是否已经了解和使用,赶紧去试试吧!下次给大家讲解如何配置数据库、Mybatis 等。