我的版本

jdk1.8
springboot2.43
maven3.52

入门案例

浏览发送/hello请求,响应 Hello,SpringBoot2
入门案例参考官方文档

1、创建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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.hegong</groupId>
    <artifactId>HelloSpringBoot</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.3</version>
    </parent>
    <description/>
    <developers>
        <developer/>
    </developers>
    <licenses>
        <license/>
    </licenses>
    <scm>
        <url/>
    </scm>
    <url/>
</project>

2、导入开发web场景需要用到的依赖

<dependencies>
        <!-- 开发web场景只需要导入该依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

3、创建主程序入口

/**
 * @author 14767
 * 主程序类
 * @SpringBootApplication  表示这是一个springboot应用
 */
@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class,args);
    }
}

4、编写业务

实现这个业务有两种方式
第一种方式通过使用@ResponseBody标签来实现显示Hello,SpringBoot2的功能

@Controller
public class HelloController {
    @ResponseBody
    @RequestMapping("/hello")
    public String handle01(){
        return "Hello,SpringBoot2";
    }
}

或者通过使用@RestController注解来实现相同的功能,该实现方式更加简单

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String handle01(){
        return "Hello,SpringBoot2";
    }
}

顺便复习一下这两个注解

  1. @ResponseBody:注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。
    注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据
  2. @RestController:@RestController=@Controller+@ResponseBody

5、测试

执行springboot的程序主入口

springboot3对比2的升级 springboot springboot2_springboot3对比2的升级

然控制台输出很好看的日志

springboot3对比2的升级 springboot springboot2_jar_02

我们可以看到最后倒数第五行说到了Tomcat start on port8080,然后我们去访问我们的地址http://localhost:8080/hello

成功实现案例要求

springboot3对比2的升级 springboot springboot2_springboot3对比2的升级_03


我们可以清晰的感觉到,使用了springboot甚至都不用自己去配置tomcat,也不用注册springmvc的控制器,十分的方便

6、简化配置

配置文件统一规范为application.properties

springboot3对比2的升级 springboot springboot2_jar_04


我们仅仅需要像这样的一行配置就可以将tomcat启动的端口号进行修改,十分的方便

7、简化部署

我们在原先,部署项目必须将一个项目打成一个war包然后部署到tomcat中去,如果我们想要简化部署那么我们可以将我们的项目打包为一个可执行的jar包,我们称这个可执行的jar为fat.jar(胖jar),此时需要导入springboot给我们提供的一个插件

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

使用这个插件打包的jar包包含了我们所有的运行环境,所以我们直接可以运行这个jar包

springboot3对比2的升级 springboot springboot2_maven_05


还需注意,我们的springboot项目的打包方式默认为jar,但是这个jar无法直接运行,只有使用了上述插件才可以运行