依赖以及构建工具
- 依赖环境和构建工具
SpringBoot开发需要两个基础环境和一个开发环境。这两个环境是指 Java 编译环境和构建工具环境,一个开发工具是指 IDE 开发工具。
Java主要有三大构建工具,Ant、Maven、Gradle。
Ant的核心是java写的,才用xml作为构建脚本,允许在任何环境下运行构建。
Maven可以将项目过程规范、自动、高效以及强大的可扩展性。
Gradle基于ApacheAnt和ApacheMaven概念的项目自动化构建工具。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML。结合了前两者的优点。但是Gradle在行业使用率偏低,SpringBoot一般默认使用Maven。
- 搭建项目以及准备工作
- 安装JDK
- 环境变量配置
- 安装 Maven
- settings.xml 设置
- IntelliJ IDEA 安装
- 构建项目,以下为构建项目详细过程。
使用 Spring 官方提供页面构建访问 http://start.spring.io/ 网址。
选择构建工具 Maven Project,编程语言选择 Java、Spring Boot 版本 2.0.5 以及一些工程基本信息。
单击 Generate Project 下载项目压缩包。
解压后,使用 IDEA 导入项目,选择 File | New | Model from Existing Source.. | 选择解压后的文件夹 | OK 命令,选择 Maven,一路单击 Next 按钮,OK done!
如果使用的是 Eclipse,选择 Import | Existing Maven Projects | Next | 选择解压后的文件夹 | Finsh 按钮,完成。
- 项目结构介绍
如上图所示,Spring Boot 的基础结构共三个文件,具体如下:
src/main/java:程序开发以及主程序入口;
src/main/resources:配置文件;
src/test/java:测试程序。
工程目录下:
Application.java,建议放到根目录下面,是项目的启动类,Spring Boot 项目只能有一个 main() 方法;
comm 目录建议放置公共的类,如全局的配置文件、工具类等;
model 目录主要用于实体(Entity)与数据访问层(Repository);
repository 层主要是数据库访问层代码;
service 层主要是业务类代码;
web 层负责页面访问控制。
resources 目录下:
static 目录存放 web 访问的静态资源,如 js、css、图片等;
templates 目录存放页面模板;
application.properties 存放项目的配置信息。
test 目录存放单元测试的代码;pom.xml 用于配置项目依赖包,以及其他配置
Pom包介绍,主要描述包的依赖和构建时的配置。
第一部分为项目的描述信息:
<groupId>com.liudc</groupId> //项目的包路径;
<artifactId>hello</artifactId> //项目名称;
<version>2.0.5.RELEASE</version> //项目版本号;
<packaging>jar</packaging> //一般有两个值:jar、war,表示使用 Maven 打包时构建成 Jar 包还是 War 包;
<name>hello</name> //项目名称;
<description>Demo project for Spring Boot</description> //项目描述。
第二部分为项目的依赖配置信息:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
parent,标签内配置 Spring Boot 父级版本 spring-boot-starter-parent,Maven 支持项目的父子结构,引入父级后会默认继承父级的配置;
dependencies,标签内配置项目所需要的依赖包,Spring Boot 体系内的依赖组件不需要填写具体版本号,spring-boot-starter-parent 维护了体系内所有依赖包的版本信息
第三部分为构建时需要的公共变量:
这部分一般配置编码格式和jdk使用版本。
第四部分为构建配置:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
使用maven构建springboot项目必须依赖于spring-boot-maven-plugin组件。spring-boot-maven-plugin 能够将 Spring Boot 应用打包为可执行的 jar 或 war 文件,然后以简单的方式运行 Spring Boot 应用。