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>



















