Spring Boot 2入门
- 如何创建一个Spring Boot的Web例子?
- 1.如何创建一个Spring Boot项目
- 1.1 使用Maven构建一个Spring Boot 2项目
- 1.1.1创建Maven工程
- 注:Maven项目结构:
- 1.1.2引入SpingBoot相关依赖依赖
- 注意事项:
- 1.1.3创建主类
- 1.1.4编写业务类
- 1.1.5运行测试
- 服务端:
- 浏览器:
- 更改端口号
- 2.使用Spring Initializr创建一个Spring Boot项目
- 2.1创建项目
- 2.2编写业务类
- 2.3测试
- 思考
如何创建一个Spring Boot的Web例子?
1.如何创建一个Spring Boot项目
功能:浏览器发送/hello请求,响应 Hello,Spring Boot 2 在页面上
1.1 使用Maven构建一个Spring Boot 2项目
1.1.1创建Maven工程
-
New Project—>
- Name:项目名【自定义】
- Loaction:项目存放位置【自己选】
- Language:编程语言【Java】
- Buid system:构建器【Maven】
- JDK:选择jdk1.8及其以上
- GroupId:包名
- ArtifactId:项目名
-
—>Create
注:Maven项目结构:
hello_spring【根目录】
丨— src【src目录用于存放源码】
丨 丨—main
丨 丨—java【存放源码】
丨 丨—resources【存放静态资源】
丨 丨—test【测试模块】
丨— pom.xml【maven配置文件】
1.1.2引入SpingBoot相关依赖依赖
在pom.xml文件中,加上spring-boot-starter-parent父工程和spring-boot-starter-web依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
导入依赖后按刷新按钮来导入依赖,两个按钮效果一样
注意事项:
想要使用SpringBoot 2对Maven版本和Java具有要求
Maven版本大于3.5+
Javav版本jdk8及其以上
详情见:
SpingBoot官网–>Getting Started
1.1.3创建主类
在/src/main/java/下创建主类
package com.jiekki.boot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 主程序类
* @SpringBootApplication:这是一个SpringBoot应用
*/
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class,args);
}
}
1.1.4编写业务类
package com.jiekki.boot.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@ResponseBody
@Controller
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "你好SpringBoot!";
}
}
hello_spring【根目录】
丨— src【src目录用于存放源码】
丨 丨—main
丨 丨—java【存放源码】
丨 丨—com.jiekki.boot
丨 丨—controller
丨 丨—HelloController.java
丨 丨—MainApplication.java
丨 丨—resources【存放静态资源】
丨 丨—test【测试模块】
丨— pom.xml【maven配置文件】
1.1.5运行测试
服务端:
直接运行main方法
浏览器:
浏览器输入:localhost:8080/hello
更改端口号
在recources文件夹下新建application.properties,使用server.port=8088更改端口号
hello_spring【根目录】
丨— src【src目录用于存放源码】
丨 丨—main
丨 丨—java【存放源码】
丨 丨—com.jiekki.boot
丨 丨—controller
丨 丨—HelloController.java
丨 丨—MainApplication.java
丨 丨—resources【存放静态资源】
丨 丨—application.properties
丨 丨—test【测试模块】
丨— pom.xml【maven配置文件】
application.properties中的内容
#端口号默认值8080,更改为8088
server.port=8088
端口号修改后
后端: 重启项目,
浏览器: 重新发送请求localhost:8088/hello
2.使用Spring Initializr创建一个Spring Boot项目
项目名为myspringbootweb的web项目,功能:浏览器发送/hello请求,响应 Hello,Spring Boot 2 在页面上
2.1创建项目
创建步骤:
- Spring Initializr—>
- Name:项目名【自定义】
- Loaction:项目存放位置【自己选】
- Language:编程语言【Java】
- Type:构建器【Maven】
- GroupId:包名
- ArtifactId:项目名
- JDK:选择jdk1.8及其以上
- —>next
选择需要添加的模块,本例是Web项目,所以选择Web中的Spring Web
—>Create
等待项目构建完毕
项目创建好了,可以发现跟我们手动用Maven导入Sring Boot依赖的方式创建的项目基本一致
Spring Boot脚手架帮我们自动创建了包文件夹和主类MyspringbootwebApplication.java
2.2编写业务类
package com.jiekki.boot.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@ResponseBody
@Controller
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "你好SpringBoot!";
}
}
2.3测试
**后端:**启动项目
**浏览器:**发送请求localhost:8080/hello
发现使用Spring Initializr创建Spring Boot更方便
思考
学习过Maven,应该知道依赖是可以继承的,因为我们的项目中选择
spring-boot-starter-parent作为父工程,那么父工程引入的依赖会被我们的项目继承,如果根据需要在我们项目pom.xml不如额外的定义依赖版本,那么引入的依赖会与父项目中引入的依赖版本保持一致
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.7</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<?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>3.2.7</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.jiekki</groupId>
<artifactId>myspringbootweb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>myspringbootweb</name>
<description>myspringbootweb</description>
<url/>
<licenses>
<license/>
</licenses>
<developers>
<developer/>
</developers>
<scm>
<connection/>
<developerConnection/>
<tag/>
<url/>
</scm>
<properties>
<java.version>17</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>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>