SpringBoot2.x基础篇:开发你的第一个SpringBoot应用程序

简介: `SpringBoot2.x`版本是基于`Java8`来编写的,由于内部使用到了很多新的特性,比如:`lambda`、`interface default`...,所以需要本地开发环境有`java8`的支持。

开发环境

SpringBoot2.x版本是基于Java8来编写的,由于内部使用到了很多新的特性,比如:lambdainterface default...,所以需要本地开发环境有java8的支持。

不仅如此,SpringBoot在构建项目时默认使用Maven方式,所以本地开发环境也需要配置Maven环境变量。

~ java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
~ mvn -version          
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /Users/yuqiyu/soft/apache-maven-3.6.3
Java version: 1.8.0_231, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.3", arch: "x86_64", family: "mac"
如果你更喜欢使用 Gradle方式来构建项目,那么本地就应该 Gradle环境变量支持。

构建工具版本限制使用如下表所示:

构建工具 版本
Maven 3.3+
Gradle 5.x 或 6.x

新的项目

创建一个新SpringBoot应用程序的方式有多种:

  1. 使用IDEA内置的Spring Initializr创建(File -> New -> Project -> Spring Initializr)
  2. 创建基础Maven项目,修改pom.xml添加spring-boot-parent
  3. 访问 https://start.spring.io 选择依赖后,生成项目并下载

我一般采用第一种方式,这种方式比较快捷,IDEA内部也是通过 https://start.spring.io 这种方式将构建完成的zip文件下载到本地然后解压,所以你需要连接互联网才可以创建项目。

新项目的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>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.4.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <groupId>org.minbox.chapter</groupId>
  <artifactId>developing-first-application</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>developing-first-application</name>
  <description>Demo project for Spring Boot</description>

  <properties>
    <java.version>1.8</java.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <!--添加你需要的依赖...-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.junit.vintage</groupId>
          <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>

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

</project>

新创建的应用程序会自动spring-boot-parent作为父项目,这时我们就拥有了一些默认的资源配置、默认的依赖版本、默认的插件配置等。

添加依赖

当我们需要项目支持SpringMvc时,修改pom.xml文件在添加如下依赖即可:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
添加 spring-boot-starter-web依赖主要目的是演示 Hello World输出。

示例代码

要完成我们的应用程序,需要来创建一个Java文件,默认情况下Maven会编译src/main/java目录下的源代码,我们可以在该目录下创建package来进行源代码的归类,下面我们来创建一个名为HelloExample.java的示例源代码文件,内容如下所示:

package org.minbox.chapter.developing.first.application;

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

/**
 * Hello Example
 *
 * @author 恒宇少年
 */
@RestController
public class HelloExample {

    @GetMapping
    public String hello() {
        return "hello world!";
    }
}

运行示例

到目前为止,我们新创建的应用程序应该可以工作了,由于应用程序的parentspring-boot-parent,因此具有了可运行的内置环境支持,可以直接通过命令行的方式来运行应用程序,当我们在应用程序的根目录下输入命令:

~ developing-first-application ✗ mvn spring-boot:run

通过Maven会将相关的依赖下载到本地默认的依赖仓库(~/.m2/repository),编译通过后自动运行项目,控制台输出如下所示:

 .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v2.2.4.RELEASE)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.222 seconds (JVM running for 6.514)

当看到上面的内容在控制台输出时,我们的应用程序就已经运行成功了,在浏览器访问 http://localhost:8080 地址可以看到如下输出内容:

hello world!
如果想要退出运行中的应用程序,使用 Crtl + C

代码示例

如果您喜欢本篇文章请为源码仓库点个Star,谢谢!!!
本篇文章示例源码可以通过以下途径获取,源码分支为2.x,目录为developing-first-application

相关文章
|
22天前
|
Java 应用服务中间件 Maven
如何将 Spring Boot 应用程序部署为 WAR?
如何将 Spring Boot 应用程序部署为 WAR?
68 1
|
4天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
39 13
|
12天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
16天前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
31 6
|
16天前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
36 5
|
16天前
|
缓存 监控 Java
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
27 5
|
19天前
|
前端开发 JavaScript Java
如何使用 Spring Boot 和 Angular 开发全栈应用程序:全面指南
如何使用 Spring Boot 和 Angular 开发全栈应用程序:全面指南
30 1
|
22天前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
39 3
|
21天前
|
存储 安全 Java
如何实现Spring Boot应用程序的安全性
如何实现Spring Boot应用程序的安全性
39 0
|
21天前
|
安全 Java 应用服务中间件
如何将Spring Boot应用程序运行到自定义端口
如何将Spring Boot应用程序运行到自定义端口
29 0