• 江帅帅:精通 Spring Boot 系列 01


    attachments-2020-06-pF3C9JWX5ee7419ea519e.jpg

    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 即可。

    attachments-2020-06-Ebk4OJph5ee7423d548f4.jpg

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

    attachments-2020-06-GZ5zN5uV5ee7424ce5efb.jpg

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

    attachments-2020-06-4gNDH5FY5ee742817a495.jpg

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

    attachments-2020-06-Ksa8m2Qs5ee7429371342.jpg

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

    attachments-2020-06-k4bRYRwW5ee742a29752b.jpg

    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 类,如图位置:

    attachments-2020-06-p4rMxZ1L5ee7433f5eb19.jpg

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

    HelloController 控制器

    package com.nx.controller;

    import org.springframework.web.bind.annotation.RequestMapping;

    import org.springframework.web.bind.annotation.RestController;

    @RestController

    public 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

    @ResponseBody

    public @interface RestController {

        @AliasFor(

            annotation = Controller.class

        )

        String value() default "";

    }


    第3步:添加 Spring Boot 启动类

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

    attachments-2020-06-ke0RASmJ5ee743886d643.jpg

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

    SpringBootApp 启动类

    package com.nx;

    import org.springframework.boot.SpringApplication;

    import org.springframework.boot.autoconfigure.SpringBootApplication;

    // 用于指定 Spring Boot 应用的启动类

    @SpringBootApplication

    public 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 命令,具体如下

    attachments-2020-06-t3MpyyQH5ee743fa8dca3.jpg

    attachments-2020-06-J7SSoBr15ee744250bd7c.jpg

    第 2 种:运行 main 方法启动

    attachments-2020-06-xZwJeJj65ee74437318e7.jpg

    第 3 种:使用 Maven 打包启动

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

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

    attachments-2020-06-UHozANCZ5ee74452af818.jpg

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

    attachments-2020-06-i0B61syk5ee7446310847.jpg

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

    java -jar .SpringDemo-1.0-SNAPSHOT.jar

    attachments-2020-06-BwXJJzDc5ee74473102a9.jpg

    3.5 访问 Spring Boot 应用

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

    http://localhost:8080/hello,然后回车进行访问。
    attachments-2020-06-EtZ9layG5ee7448414363.jpg
    未完待续,等我下一篇嗷 ~~~

  • 相关阅读:
    SpringMVC常用注解
    在Java 中,如何跳出当前的多重嵌套循环?
    当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
    查看远程库信息(git remote的用法)
    webpack和gulp的比较
    git pull 和git fetch的区别
    什么是性能优化?
    第一阶段的任务及燃尽图(第五天)
    第一阶段的任务及燃尽图(第二天)
    第一阶段的任务及燃尽图(第一天)
  • 原文地址:https://www.cnblogs.com/Jss-forever/p/13132593.html
Copyright © 2020-2023  润新知