初识 SpringBoot

Spring Boot可以轻松创建独立的、基于Spring的生产级应用程序,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

SpringBoot 不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

特点

  1. 可以创建独立的 Spring 应用程序,并且基于其 Maven 或 Gradle 插件,可以创建可执行的 JARs 和 WARs
  2. 内嵌 Tomcat 或 Jetty 等 Servlet 容器
  3. 提供自动配置的“starter”项目对象模型(POMS)以简化 Maven 配置
  4. 尽可能自动配置 Spring 容器
  5. 提供准备好的特性,如指标、健康检查和外部化配置
  6. 绝对没有代码生成,不需要XML配置

以上内容摘自百度百科

我的观点

SpringBoot 作为高层框架,它的底层还是 Spring ,只是它的绝大多数的配置项以及绝大部分第三方库的配置项都在其中,也就是自动配置。

同时,我觉得 SpringBoot 也是后续构造分布式、微服务的基础部分吧。其实 Spring 底层也可以做微服务这些东西,但是其中的配置过于繁琐,所以没必要花太多的时间在那些重复的配置上吧。

话不多说,进入第一个入门程序

入门程序

SpringBoot2.X 除了下述的软件要求,至少对 Spring Framework 有一定的基础,Java 基础就更不要说了。

要求

  • JDK 1.8 及以上版本
  • Maven 3.3 及以上版本

步骤

1、SpringBoot 是基于 Maven 构建的,先创建 Maven 工程

2、找到 pom.xml 文件,引入父工程

<!-- 引入父工程 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.4.RELEASE</version>
</parent>

3、在 pom.xml 配置文件,导入一个 web 的依赖

这里作为入门示例,将 web 依赖导入进来,同时这也是官方推荐的入门示例

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

依赖导入完成之后,可以看到左边和 spring-web 相关的依赖就出现了

4、编写控制层代码

控制层就是和用户的浏览器进行交互的地方,用户发送请求,服务端就会响应。

package top.bestguo.helloworld.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/hello")
public class HelloController {

    @RequestMapping("/springboot2")
    @ResponseBody
    public String hello() {
        return "Hello, SpringBoot2!";
    }

}

5、编写启动类

package top.bestguo.helloworld;

import org.springframework.boot.SpringApplication;

@org.springframework.boot.autoconfigure.SpringBootApplication
public class SpringBootApplication {

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

}

6、运行测试,访问 http://localhost:8080/hello/springboot2 查看效果,看到下图界面出现,就说明你的第一个 SpringBoot HelloWorld 启动成功!🎊

7、这样,一个 SpringBoot 入门程序就完成了🎉

运行 jar 文件

有没有发现,我们的第一个程序是基于 web 的,可是我们并没有将项目运行在 Tomcat 中。对啦,SpringBoot 中我们引入的 web 依赖是内置的一个嵌入式的 Tomcat,不需要独立的即可运行。

而且 SpringBoot 导出的项目,默认就是 jar 格式的文件。我们导出之后运行一下试试看 。

步骤

1、需要在构建项目的时候自动生成一个可以运行 SpringBoot 的 jar 包,我们需要将以下配置文件复制粘贴到 pom.xml 文件中

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

2、运行右边的 clean 和 package 选项(按住 ctrl 进行选择,点击绿色的“播放”按钮),运行完成之后,在 target 文件夹中,出现一个 jar 包。

构建完成后出现的 jar 包:

3、此时我们进入到当前页面,进入 cmd 运行

4、运行这个 jar 文件,看到如下的效果,说明运行成功啦

5、此时再次访问 http://localhost:8080/hello/springboot2 ,效果如下。

后记

在以前,如果是基于 Spring Framework 来搭建一个 web 程序,发现步骤还是蛮多的。首先要在配置 web.xml 前端控制器和编码过滤器,配置完成之后就配置 springmvc.xml 配置文件了,然后又要在该文件中配置视图解析器,静态资源拦截器,配置注解驱动。这些基础的配置重复去配置还是挺麻烦的。

现在 SpringBoot 省去了这些基础的繁琐的配置,未来可以更多的去专注于代码,而不是专注于配置文件中。

音乐