登录 |  注册
首页 >  编程技术 >  Spring Boot入门基础教程代码实例 >  Spring Boot自动生成项目

Spring Boot自动生成项目

1. 前言

Spring Boot 可以使用 Maven 构建,遵循 Maven 的项目结构规范,项目结构是模板化的,基本都一模一样。

模板化的东西可以自动生成,Spring 官方就提供了 Spring Initializr 。它能自动生成 Spring Boot 项目,我们直接导入到开发工具使用即可。

2. 生成 Spring Boot 项目

打开 Spring Initializr 网址 http://start.spring.io ,根据我们项目的情况填入以下信息。

图片描述

Spring Initializr 生成 Spring Boot 项目

这是第一次接触 Spring Initializr ,我们来详细了解界面上选项的作用。

1. 构建方式选择:此处我们选择 Maven Project 即可,表示生成的项目使用 Maven 构建。当然我们也可以发现,Spring Boot 项目亦可采用 Gradle 构建,目前 Spring Boot 主流的构建方式还是 Maven;
2. 编程语言选择:此处选择 Java 即可;
3. Spring Boot 版本选择: 2.x 版本与 1.x 版本还是有一些区别的,咱们学习肯定是选择 2.x 新版本。此处虽然选择了 2.2.6 版本,但是由于 2.2.6 版本刚推出没多久,国内一些 Maven 仓库尚不支持。后面我们手工改为 2.2.5 版本,便于使用国内 Maven 仓库快速构建项目;
4. 所属机构设置:Group 表示项目所属的机构,就是开发项目的公司或组织。因为公司可能会重名,所以习惯上采用倒置的域名作为 Group 的值。例如慕课网的域名是 imooc.com , 此处写 com.imooc 就行了;
5. 项目标识设置:Artifact 是项目标识,用来区分项目。此处我们命名为 spring-boot-hello ,注意项目标识习惯性地采用小写英文单词,单词间加横杠的形式。比如 Spring Boot 官方提供的很多依赖,都是 spring-boot-starter-xxx 的形式;
6. 项目名称设置:Name 是项目名称,保持与 Artifact 一致即可;
7. 默认包名设置:Package name 是默认包名,保持默认即可;
8. 打包方式选择:此处选择将项目打包为 Jar 文件;
9. 添加项目依赖:此处不必修改,我们直接在 pom.xml 中添加依赖更加方便。注意 pom.xml 就是 Maven 的配置文件,可以指定我们项目需要引入的依赖;
10. 生成项目:点击 Generate 按钮,即可按我们设置的信息生成 Spring Boot 项目了。

3. Spring Boot 项目结构分析

我们将下载的 zip 压缩包解压后导入开发工具,此处以 Eclipse 为例,依次点击 File-Import-Existing Maven Projects ,然后选择解压后的文件夹导入。IDE流程,直接导入maven项目即可。

图片描述

Eclipse 导入 Spring Boot 项目

导入后项目结构如下图,我们逐一分析下他们的用途:

图片描述

Spring Boot 项目结构
  • 最外层的 spring-boot-wikis 表示工作集(working set),可以理解为项目分类。我们将 Spring Boot 学习项目都放入该工作集下,便于集中查看;

  • spring-boot-hello 是我们指定的项目名称;

  • src/main/java 是 Java 源代码目录,存放我们编写的 Java 代码;

  • src/main/resources 目录是静态资源目录,存放图片、脚本文件、配置文件等静态资源;

  • src/test/java 目录是测试目录,存放测试类。测试是非常重要的,从目录级别跟源代码同级,就能看出来测试的重要性;

  • target 目录存放我们打包生成的内容;

  • pom.xml 是项目的 Maven 配置文件,指定了项目的基本信息以及依赖项,Maven 就是通过配置文件得知项目构建规则的。

Tips: 此处有同学要发问了,不是说好 Spring Boot 没有配置文件吗?不要着急,Spring Boot 可以在没有配置文件时照常运行。但如果需要个性化功能的话,就会用到配置文件了。 Spring Boot 的配置文件使用非常简单,放心就是了!

4. pom.xml 详解

大家可能也发现了,到此刻为止,Spring Boot 项目也没啥新鲜的。都是之前了解过的东西,跟普通的 Maven 项目也没啥区别。

其实真正的变化在 pom.xml 中,我们马上打开瞧一瞧。因为 pom.xml 配置比较长,我们从头到尾分段解释下。

4.1 Maven 文档配置

这一段配置代码,其实是固定的格式,表示当前文档是 Maven 配置文档。

实例:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
	                    https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
</project>

4.2 Spring Boot 版本配置

这一段配置代码,指定使用 Spring Boot 2.2.5.RELEASE 版本 。如果我们要更换 Spring Boot 版本,只需要修改 <version></version> 标签中间的版本号部分即可。

实例:

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.5.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

4.3 项目信息配置

这一段配置代码,大家看到应该比较眼熟,内容即为之前使用 Spring Initializr 指定的项目信息。其中,groupId 是机构标识、artifactId 是项目标识,version 是版本号,name 是项目名称,description 是项目的简单描述。

实例:

	<groupId>com.imooc</groupId>
	<artifactId>spring-boot-hello</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>spring-boot-hello</name>
	<description>Demo project for Spring Boot</description>

Tips: name 是项目的名称,不用特别严谨。而 artifactId 是用来区分 group 下面的子项目的,需要保证严格唯一。一般情况下将 artifactId 和 name 设置成一样的就可以了。

4.4 依赖配置

接下来,这一段代码配置,负责指定 Spring Boot 项目中需要的依赖。 Spring Boot 有一些起步依赖,形如 spring-boot-starter-xxx 的样式。起步依赖整合了很多依赖项,后续我们慢慢了解即可。

实例:

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

Tips: 可以看到上面两个依赖我们并没有指定版本号,其实是因为 Spring Boot 2.2.5 已经有默认的依赖项版本号了。这是通过 Maven 父继承实现的,即 <parent> 标签配置部分,这个稍作了解即可。

4.5 插件配置

最后的这一段代码配置,指定了一个插件,用来构建、运行、打包 Spring Boot 项目。

实例:

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
上一篇: Spring Boot 简介
下一篇: Spring Boot启动类及配置
推荐文章
  • 在HTML中,如果你想让一个输入框(input元素)不可编辑,你可以通过设置其readonly属性来实现。示例如下:input type="text" value="此处内容不可编辑" readonly在上述代码中,readonly属性使得用户无法修改输入框中的内容。另外,如果你希望输入框完全不可交
  • ASP.NET教程ASP.NET又称为ASP+,基于.NETFramework的Web开发平台,是微软公司推出的新一代脚本语言。ASP.NET是一个使用HTML、CSS、JavaScript和服务器脚本创建网页和网站的开发框架。ASP.NET支持三种不一样的开发模式:WebPages(Web页面)、
  • C# 判断判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。下面是大多数编程语言中典型的判断结构的通常形式:判断语句C#提供了以下类型的判断语句。点击链接查看每个语句的细节。语句描述if语句一个 if语句 由一个布尔表达式后跟
  • C#循环有的时候,可能需要多次执行同一块代码。通常情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了允许更为复杂的执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的通常形式:循环类型C#提供了以下几种循环类型
  • C#数组(Array)数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,一般认为数组是一个同一类型变量的集合。声明数组变量并不是声明number0、number1、...、number99一个个单独的变量,而是声明一个就像numbers这样的变量,然后使用numbers[0]
  • ASP.NET是一个由微软公司开发的用于构建Web应用程序的框架,它是.NETFramework的一部分。它提供了一种模型-视图-控制器(MVC)架构、Web表单以及最新的ASP.NETCore中的RazorPages等多种开发模式,可以用来创建动态网页和Web服务。以下是一些基础的ASP.NET编
学习大纲