Spring Boot2(002):手动创建第1个SpringBoot2简单应用——“HelloWorld” web 工程

Posted wpbxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot2(002):手动创建第1个SpringBoot2简单应用——“HelloWorld” web 工程相关的知识,希望对你有一定的参考价值。

 

备注:以下内容参考 springboot 官方文档 https://docs.spring.io/spring-boot/docs/2.1.5.RELEASE/reference/pdf/spring-boot-reference.pdf 中的 11. Developing Your First Spring Boot Application

一、开发环境配置说明:

  首先列一下自己的一些开发环境信息:
win10 + JDK 1.8.0_111 + Apache Maven 3.3.9 + idea2019.1 + 阿里云maven镜像(https://maven.aliyun.com/repository/public)
  需要注意的是,如果在命令行使用 maven 而且不指定配置文件的话,则用的是 maven 默认的镜像,地址:https://repo.maven.apache.org/maven2
  对于 JDK 和 maven ,先要确保没问题,命令分别为 java -versionmvn -v

技术图片

 

二、创建springboot2简单工程

1、创建相关目录和 pom 文件

  首先就是先创建工程所需要的目录以及 pom.xml 文件,例如,我这里创建了 springboot2-example-01 作为工程项目来使用,内部结构如下:

技术图片

  当然还有个 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
    <groupId>com.wpbxin</groupId>
    <artifactId>springboot2-first-example</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
    </parent>
    <!-- Additional lines to be added here... -->
</project>

  然后使用命令 mvn package (注意:在 springboot2-example-01 目录下)运行下确保打包正常(这里没有指定配置文件,使用的默认的 maven 镜像:https://repo.maven.apache.org/maven2 ,下载速度相对来说应该会慢点,稍微缓一缓休息下,正常就行,一次不行再来一遍。。。):

技术图片

  注意:如果打包时遇到了错误:“sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target” ,可以参考笔者的另一篇说明:Maven:sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target,还有可能 Maven:java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty,可以解决相关问题。

 

2、添加依赖

  springboot 提供了很多的“Starters”来添加相关的 jar 包依赖,案例中的 spring-boot-starter-parent 是一个比较特殊的 parent pom ,它提供了很多有用的默认配置,但是没有任何的 jar 依赖。这里可以运行下 mvn dependency:tree 查看下当前工程的依赖(第一次运行估计会下载很多相关 jar 包,截图的下半部分第二次运行这个命令,上半部分的是第一次的),可以发现 spring-boot-starter-parent 并没有提供任何依赖。

技术图片

  这里我们要创建的是 web 工程,需要有 web 相关的依赖,因此添加如下配置:

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

  再来一遍 mvn dependency:tree (截图的是已经下载完后的),这下可以看出 spring 全家桶差不多出来了,而且还有内嵌的 tomcat

技术图片

 

3、添加“Hello World”代码

  HelloWorld Java类:

package com.wpbxin;

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class HelloWorldExample {
    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }
    public static void main(String[] args) {
        SpringApplication.run(HelloWorldExample.class, args);
    }
}

 

4、运行案例

  通过命令 mvn spring-boot:run 来运行(期间笔者又遇到了 PKIX 的错误,重新来几遍就没问题了,很可能是网络问题):

技术图片

  看到打出来了 Spring 的标识就正常了,然后访问 http://localhost:8080/ 正常:

技术图片

  然后按 ctrl -c 结束:

技术图片

 

5、创建可运行的jar

  增加配置:

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

  再次执行 mvn package

技术图片

  这时候 target 目录下会有个文件 springboot2-first-example-0.0.1-SNAPSHOT.jar.original 和相关的jar 包(大概10MB左右):

技术图片

  通过 jar -tvf targetspringboot2-first-example-0.0.1-SNAPSHOT.jar 查看内部所有文件和引用:

技术图片

  这次通过 jar -jar 来运行 jar 包,也是正常:

技术图片

  访问 http://localhost:8080/ ,OK

技术图片

  同样是通过 CTRL-c 来结束运行:

技术图片

  至此,“HelloWorld” 工程 OK 了。

 

以上是关于Spring Boot2(002):手动创建第1个SpringBoot2简单应用——“HelloWorld” web 工程的主要内容,如果未能解决你的问题,请参考以下文章

VO/DTO在spring boot2/mybatis plus项目中之简单应用

Spring Boot2 系列教程 | SpringBoot 整合 Mybatis

关于spring boot2以上的redis多库使用踩坑

Spring Boot2.0之 原理—创建内置Tomcat容器

Spring Boot2 系列教程(二十七)Nginx 极简扫盲入门

spring boot2.0快速入门