创建一个maven项目

image-20220114132553579

在pom文件中引入SpringBoot父工程依赖

1
2
3
4
5
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>

在pom文件中添加所需依赖

本例是一个Web项目,所以只需要引入web相关的依赖,即

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

编写SpringBoot的启动类

1
2
3
4
5
6
7
8
9
10
11
package com.lip.boot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class,args);
}
}

以上是SpringBoot启动类的固定写法,其中@SpringBootApplication告诉Spring,这是一个SpringBoot应用。

编写业务逻辑

SpringBoot中编写控制器以及其他代码时,与编写SpringMVC的代码无区别

1
2
3
4
5
6
7
8
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String sayHello(){
return "Hello from SpringBoot!!";
}
}

注:

  • 通过@ResponseBody告诉spring将返回结果放到响应体中,而不是通过视图解析器进行跳转。

  • 如果某个控制器的所有控制器方法都会将响应内容写到响应体中,则可以将@ResponseBody标注到类上,比如:

    1
    2
    3
    4
    5
    6
    7
    8
    @Controller
    @ResponseBody
    public class HelloController {
    @RequestMapping("/hello")
    public String sayHello(){
    return "Hello from SpringBoot!!";
    }
    }

    这两个注解可以使用注解@RestController代替

    1
    2
    3
    4
    5
    6
    7
    @RestController
    public class HelloController {
    @RequestMapping("/hello")
    public String sayHello(){
    return "Hello from SpringBoot!!";
    }
    }

    因为@RestController是一个合成注解:

    1
    2
    3
    4
    5
    6
    7
    8
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Controller
    @ResponseBody
    public @interface RestController {
    // ....
    }

编写SpringBoot配置文件application.properties

SpringBoot的所有配置都写在application.properties中:

1
server.port=8888

将项目发布为一个可执行的jar

首先需要在pom中引入如下插件

1
2
3
4
5
6
7
8
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

然后通过maven的package即可将项目打包成一个可执行的jar。

image-20220114140055988

控制台中:

image-20220114140148864

此时到对应路径下,找到jar包,通过命令 java -jar SpringBoot01-HelloWord-1.0-SNAPSHOT.jar即可启动jar包:

image-20220114140431321

此时通过浏览器访问:

image-20220114140500203