首页
学习
活动
专区
圈层
工具
发布

江帅帅:精通 Spring Boot 系列 01

1、Spring Boot 概述

Spring 框架,作为一个非常优秀的轻量级容器,在企业级项目开发中非常受欢迎,但它在使用期间需要整合众多第三方资源,都会导致配置过于臃肿,这也是令大家非常头疼的问题。

Spring Boot 的出现,就是为了让大家更方便去使用 Spring 框架进行开发,它基于“约定优于配置(COC)”的设计理念,它实现了自动化配置解决方案,包括自动配置第三方资源,从而简化了 Spring 应用的创建、运行、调试、部署等方便的操作,让开发者更专注在应用业务的实现上。

其实,Spring Boot 可以想象成一个中介,它是开发者和 Spring 框架的简化沟通平台,有些“手续(应用的配置)”它直接就帮我们办理好了,这些“手续”其实就是业务流程中某些默认的流程(也就是默认的配置),刚好就是上面说的“约定优于配置”的理念。Sprint Boot 的最终目的,就是为了提升开发者在业务实现上的专注度。

2、Spring Boot 的优势

  •  继承了 Spring 框架自身优秀的特性。
  •  能够让配置更简单,通过自动配置快速搭建 Spring 应用项目。 
  •  能够以 jar 文件形式独立运行项目。
  •  更强大的注解,让业务实现更简化。 
  •  内嵌了常见的 Web 服务器,让你随时使用 Tomcat、Jetty 等。 
  •  提供了企业生产级项目的服务监控方案,让监控更加简单。
  •  还有一些非功能性的通用配置,适应更多的开发需求。
  •  可进行分布式开发,结合 Spring Cloud 进行微服务开发。

3、搭建 Spring Boot 项目

3.1 创建 Maven 项目

第一步:菜单栏中选择 File → New → Project... 弹出下图,然后选择 Maven,再点击 Next 即可。

第二步:填写组织名称、模块名称、项目版本等相关信息,如下图:

第三步:选择项目的保存位置,如下图:

创建好之后的项目具体目录,如下图:

创建好之后的项目本地文件夹具体目录,如下图:

3.2 关于项目中目录的相关解释

  • src/main/java:用来存储编写好的 Java 源码文件,也就是 xxx.java 文件。
  • src/main/resources:用来存储编写好的配置文件。
  • src/test/java:主要用来存储测试用的 Java 源码文件。

3.3 添加配置与代码

第1步:编辑 pom.xml 文件

pom.xml 文件,全称项目对象模型(Project Object Model)描述文件,作为 Maven 的基础配置文件,常被用来指定项目中的依赖配置。

接着,我们需要在 pom.xml 文件中添加相关依赖,具体如下:

首先,使用 <parent> 标签指定  spring-boot-starter-parent 依赖模块,单从标签名字上来看,就知道它想指定(继承)父类级别的东西。

在构建 Spring Boot 应用时设置它,也就意味着会自动包含能简化我们工作的自动配置、日志和 YAML 等大量的配置。它作为 Spring Boot 的核心启动器,提供一些 Maven 默认的配置和 dependency-management,能让你快速使用 Spring Boot 进行开发。

比如,这里指定了 parent 的版本号,当我们在引入其他依赖的时候,就不用再去关心它们的版本号了,在以前是需要考虑的,而且还很容易引起版本冲突。

编辑 pom.xml 文件

<parent>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-parent</artifactId>    <version>2.2.1.RELEASE</version></parent>

如果,我们需要进行 Web 开发,还需要指定 spring-boot-starter-web 依赖模块,需要在 pom.xml 文件中添加 <dependency…/> 元素来进行指定,具体如下:

指定 web 依赖模块

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

最后,还可以通过 <build …/> 元素来添加插件,比如设置 Spring Boot 的 Maven 插件 Spring Boot Maven plugin,它能够为 Spring Boot 应用提供执行 Maven 操作。此插件,能够将 Spring Boot 应用进行打包为可执行的 jar 或 war 形式的文件,然后以通常的方式来运行。具体配置如下:

添加 maven 插件

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

完整的 pom.xml 文件,具体如下:

完整的 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.nx</groupId>    <artifactId>SpringDemo</artifactId>    <version>1.0-SNAPSHOT</version>    <!-- 指定 parent 版本 -->    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>2.2.1.RELEASE</version>    </parent>    <!-- 指定 web 依赖模块 -->    <dependencies>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>    </dependencies>    <!-- 设置 maven 插件 -->    <build>        <plugins>            <plugin> <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>            </plugin>        </plugins>    </build></project>

第2步:添加 Controller 类

新建一个 com.nx 的 package,然后添加一个 HelloControler 类,如图位置:

HelloController 控制器类的代码,具体如下:

HelloController 控制器

package com.nx.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloController {    @RequestMapping("/hello")    public String sayHello(){        return "I Love Spring Boot.";    }}

@RestController 注解是一个组合注解,它包含了 @Controller 和 @ResponseBody 两个注解,说明它能以 JSON 格式进行响应数据。注解的源码如下:

@RestController 注解源码

@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Controller@ResponseBodypublic @interface RestController {    @AliasFor(        annotation = Controller.class    )    String value() default "";}

第3步:添加 Spring Boot 启动类

启动类的路径,需要能够让 spring boot 扫描得到其他的组件,添加位置:

SpringBootApp 启动类的代码,具体如下:

SpringBootApp 启动类

package com.nx;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;// 用于指定 Spring Boot 应用的启动类@SpringBootApplicationpublic class SpringBootApp {    public static void main(String[] args) {        // 从 main 方法中进行启动 Spring 应用中的类        SpringApplication.run(SpringBootApp.class, args);    }}

3.4 启动 Spring Boot 项目

有三种启动方式,具体如下:

  1. 使用 Maven 命令启动
  2. 运行 main 方法启动
  3. 使用 Maven 打包启动

第1种:使用 Maven 命令启动

使用 Maven 命令:

spring-boot:run

指定项目路径和 Maven 命令,具体如下

第 2 种:运行 main 方法启动

第 3 种:使用 Maven 打包启动

需要将 Spring Boot 应用打成一个 jar 包运行。

首先,在 IDEA 的右边栏中,打开 Maven 即可看到如下页面,双击 package 命令。

然后,找到项目所在路径下的 target 文件夹,打开即可看到生成的 jar 文件。

最后,通过命令行进入到 jar 文件所在目录下,并执行 java -jar 命令。

java -jar .\SpringDemo-1.0-SNAPSHOT.jar

3.5 访问 Spring Boot 应用

打开浏览器,在地址栏中输入请求地址:

http://localhost:8080/hello,然后回车进行访问。

未完待续,等我下一篇嗷 ~~~

举报
领券