1. IDEA
默认创建
-
spring初始化器Spring Initializr
→Default
→Next
-
项目信息
项目信息 -
选择项目依赖初始化项
项目依赖初始化项 支持的版本 -
核对项目路径 →
创建项目Finish
-
项目结构
项目结构 -
pom.xml
<?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.3.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.sheng</groupId> <artifactId>spring-boot-test01</artifactId> <version>0.0.1-SNAPSHOT</version> <name>spring-boot-test01</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.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </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>
-
parent
继承了Spring Boot
的spring-boot-starter-parent
,表示是一个Spring Boot
工程。
-
-
程序入口类(以
Application
结尾)package com.sheng.spring.boot.test01; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootTest01Application { public static void main(String[] args) { SpringApplication.run(SpringBootTest01Application.class, args); } }
-
资源配置
resources/application.yml
(以application
开头)- 默认为
application.properties
,默认为空。 - 在
Spring Boot
中推荐使用properties
或者yaml
文件来完成配置,对于复杂配置来说,yaml
相对来说优于properties
。 - 对于
yml
的注释,在运行时最好删掉,不然可能会出错。
ymlserver: # 修改端口 port: 8080 servlet: # 请求的路径 context-path: /test
- 默认为
-
书写测试
controller
类HelloController
@RestController @RequestMapping("/hello") public class HelloController { @GetMapping("/hello") public String hello() { return "hello Spring Boot"; } }
-
直接运行程序入口类
运行程序 -
访问
- 由于在资源文件配置了请求路径
/test
,所以访问路径为http://127.0.0.1:8080/test/hello/hello
- 由于在资源文件配置了请求路径
2. 默认的https://start.spring.io
打不开时,可以使用https://start.aliyun.com
创建
1. 以微服务
思想创建。
2. 直接依赖了最顶层的spring-boot-dependencies
-
ali初始化器https://start.aliyun.com
-
设置信息
设置项目信息 -
选择依赖
选择依赖- 对于阿里的依赖项,目前稳定的版本最高是
2.30
。
- 对于阿里的依赖项,目前稳定的版本最高是
-
pom.xml
- 对于
ali初始化器
的pom.xml
,在dependencyManagement
直接继承了spring-boot-dependencies
。所以没有默认初始化器
中的parent
的spring-boot-starter-parent
,这是中间的继承。 -
build
下的plugins
也相对于默认的初始化器多了很多配置。
<?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> <groupId>com.sheng</groupId> <artifactId>spring-boot-test02</artifactId> <version>0.0.1-SNAPSHOT</version> <name>spring-boot-test02</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <spring-boot.version>2.3.0.RELEASE</spring-boot.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </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> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
- 对于
-
application.propertiesresources/application.properties
不为空
3. Maven
工程创建
-
创建maven空工程Maven
→Next
-
设置项目信息
设置信息 -
默认的目录结构以及
pom.xml
-
目录结构以及
pom.xmlpom.xml
-
添加
SpringBoot
的起步依赖spring-boot-starter-parent
- 继承
SpringBoot
的父工程,管理子工程的依赖版本。
继承SpringBoot父工程<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
- 继承
-
添加
name
以及description
(可不加)<name>spring-boot-test03</name> <description>Demo project for Spring Boot</description>
-
name
属性跟项目名称一致 -
description
是对项目的描述
-
-
添加
JDK
的版本
JDK版本<properties> <java.version>1.8</java.version> </properties>
-
添加
SpringBoot
的核心依赖
SpringBoot核心依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> </dependencies>
-
如果为
web
程序,则添加spring-boot-starter-web
SpringBoot Web 依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> </dependencies>
-
-
配置
SpringBoot
和Maven
的整合插件
SpringBoot跟Maven整合插件<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
-
-
添加程序的入口类
- 类名一般为
项目名+ Application
- 以
@SpringBootApplication
修饰 - 包名一般为
pom.xml
中的groupId
+artifactId
- 调用
SpringApplication
的run
方法- 传入的是入口类的字节码对象,
main
方法的args
参数
- 传入的是入口类的字节码对象,
程序入口类@SpringBootApplication public class SpringBootTest03Application { public static void main(String[] args) { SpringApplication.run(SpringBootTest03Application.class, args); } }
- 类名一般为
-
创建
resources/application.yml
(以application开头)
创建application.ymlserver: # 修改端口 port: 8080 servlet: # 请求的路径 context-path: /test
-
运行测试
运行入口类 请求资源
网友评论