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>