1. 用IDEA中的Spring Initializr创建SpringBoot项目
在我2015年底开始接触和学习Spring框架的时候,经常被那些繁琐的XML配置文件苦恼,这次我来试试使用Spring Boot,可以更轻易地上手,更简单快捷地构建Spring应用!
Spring Boot让我们的Spring应用变的更轻量化。我们不必像以前那样繁琐的构建项目、打包应用、部署到Tomcat等应用服务器中来运行我们的业务服务。通过Spring Boot实现的服务,只需要依靠一个Java类,把它打包成jar,并通过java -jar命令就可以运行起来。这一切相较于传统Spring应用来说,已经变得非常的轻便、简单。
直接使用IDEA插件Spring Initializr来创建SpringBoot项目,也可以在官网创建,然后下载下来导入到IDEA中。
然后Next到框架选择的地方,首先我们先创建一个最简单的项目,需要选择下面这些框架工具
- Web
- Spring Web
创建好后,直接点开Demo01Application.java运行main方法,然后打开浏览器访问localhost:8080
这个页面的出现就表示项目已经是正常启动了。
2. 结构解析
2.1 文件结构介绍
- src/main/java
- Java代码,包括工具类、Controller、Service等
- Demo01Application.java是程序的入口类
- src/main/resources
- 配置文件,静态文件等
- application.properties是默认的配置文件
- src/test/
- 用于测试的Java代码
2.2 项目依赖介绍
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.magic</groupId>
<artifactId>demo01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo01</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</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>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
复制代码
大致可分为四个部分
- 项目信息:包括groupId,artifactId,version,name,description标签
- 继承关系:parent标签声明该项目继承自spring-boot-starter-parent,并且声明为继承自2.2.0.RELEASE版本
- jar包依赖:dependencies标签包含了具体的jar包依赖情况,如spring-boot-starter-web、spring-boot-starter-test。
- 构建配置:build标签可以控制Maven构建的参数,默认使用spring-boot-maven-plugin,配合spring-boot-starter-parent可以把SpringBoot应用打包成JAR文件来直接运行
3. 创建一个Controller并测试
在src/main/java/下创建controller/IndexController.java
代码如下
@RestController
public class IndexController {
@RequestMapping("/index")
public String index(){
return "Hello World!";
}
}
复制代码
再次运行程序后,访问http://localhost:8080/index可以看到如下界面
4. 配置文件
首先,Spring Initializr创建的SpringBoot项目默认的是application.properties配置文件,这种配置文件的写法我感觉和写TXT文本没什么区别,我更喜欢yml格式的配置文件,即改用YAML语法的application.yml,这里给大家简单地介绍一下YAML属性配置文件。
4.1 YAML是什么
4.2 基础使用
首先要删除默认的application.properties文件,因为这个配置文件的优先级比yml的要高。然后就可以创建application.yml文件来使用了,不需要其他配置。
其次,YAML的语法是根据缩进、冒号和空格来设置代码段的,在加上IDEA自带的代码提示和排版功能,使用起来非常简单。
server:
# 端口号
port: 80
servlet:
# 设置上下文访问路径
context-path: /demo01
复制代码
设置好之后,我们再次运行项目,然后访问http://localhost/demo01/index可以看到相同的结果