`
getthrough
  • 浏览: 9681 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

跟着官方文档学 SpringBoot 一:准备

阅读更多

 

Chapter 1

 

【去哪儿找】

【获得帮助】

【系统要求】

        spring boot 2.0.0.RELEASE 要求:

 

  • Java 8 及以上
  • spring framework 5.0.4.RELEASE 及以上
  • 明确支持使用 Maven 3.2+ 及 Gradle 4构建

        servlet 容器支持(基于 servlet 3.1版本)

  • Tomcat 8.5
  • Jetty 9.4
  • Undertow 1.4

      除此以外,也可以将 spring boot 项目部署在任何 兼容 servlet 3.0+ 的容器上。

 

 

 【安装 spring boot】

        既可以通过 Java 开发工具来使用 spring boot,也可以将其作为一种命令行工具安装和使用,当然,这都需要基于 JDK 1.8 及以上的开发环境。

在 cmd 输入 "java -version" 查看当前系统 Java 版本。

       

请注意,本文及之后的 spring boot 文章代码均基于 Maven 演示。

 

        spring boot 的依赖 groupId 均使用 org.springframework.boot。项目的 POM 文件会典型的继承于 spring-boot-starter-parent 项目,并且在后面声明其他依赖时,会使用到多个包含”Starters“的依赖。spring boot 也提供了一个用于生成可执行 jar 文件的 maven 插件

 

以下是一个典型的 spring boot 项目 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.example</groupId>
	<artifactId>myproject</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<!-- Inherit defaults from Spring Boot -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.0.RELEASE</version>
	</parent>

	<!-- Add typical dependencies for a web application -->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>

	<!-- Package as an executable jar -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

 

 注意:继承 spring-boot-starter-parent 是一种使用 spring boot 很好的方式, 但是这种方式并不是任何时候都适用的。当你不想使用默认的设置时,可以点击这里查看可调整的解决方式。

 

【Hello World】

开发之前检查环境,在 cmd 中

// 检查 JDK 版本
java -verson
// 检查 Maven 版本
mvn -v

 一切就绪后,准备开始。

 

 

  • 最原始的方式创建 spring boot 项目

首先,创建 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.example</groupId>
	<artifactId>myproject</artifactId>
	<version>0.0.1-SNAPSHOT</version>

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

	<!-- Additional lines to be added here... -->

</project>

 

进入该 pom 文件所在位置,shift + 右键,选择“在此处打开命令窗口(win 10 是 PowerShell)”,输入“mvn package”,如果提示 mvn 命令不可用,则需要配置 maven 环境变量。执行成功后会在当前文件夹中生成一个 target 文件。以上步骤为测试 pom 文件的正确性及 maven 环境的检测。

第二步,添加依赖:

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

可以使用“mvn dependency:tree”查看当前项目依赖。

 

 第三步,编写代码:

默认情况下,Maven 会编译 src/main/java 目录下的资源,因此需要创建这个目录结构,然后在 java 目录下创建名为 Example.java 的文件,内容如下:

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

@RestController
@EnableAutoConfiguration
public class Example {

	@RequestMapping("/")
	String home() {
		return "Hello World!";
	}

        // 这是 spring boot 程序的启动方式
	public static void main(String[] args) throws Exception {
		SpringApplication.run(Example.class, args);
	}

}

 在这个 java 文件中有几个稍显不同的注解:

@RestController:这个注解并不是 spring boot 特有的,它属于 spring mvc,它的作用相当于@Controller 和 @ResponseBody,即:将该 bean 纳入 spring 管理,并在请求返回时,将内容序列化为 json。

@EnableAutoConfiguration:使用这个注解,spring boot 会根据添加的依赖去“猜测”如何配置 spring,由于 spring-boot-starter-web 这个依赖已经添加了 Tomcat 和 Spring MVC,auto-comfiguration 会假设你正在开发 web 应用,并自动设置 spring。

 

main 方法也值得注意,可以看到,main 方法将启动程序的任务委托给了 SpringApplication 类的 run 方法。run 方法启动应用,开启 spring 和 Tomcat。通过传递 Example.class 参数告诉 SpringApplication (它是 spring 主要的组件之一)。main 方法中的 args 数组(命令行参数)也被传递。

 

第四步,运行示例。

 在 pom 文件所在目录下,输入命令:

 

$ mvn spring-boot:run

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v2.0.0.RELEASE)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.222 seconds (JVM running for 6.514)
 打开浏览器,访问 localhost:8080,会有如下输出:
Hello World!
 按 Ctrl + c,选择“Y” 退出程序。  

【创建可执行 Jar】

可执行 Jar (有时候被称为 胖 Jar(“fat jar”))是包含了编译的类和代码运行所需要的所有依赖的 jar 包的归档文件(可简单理解为压缩包...)。

 

创建的方式有许多种,比较常见的是使用 Maven 插件 生成。这需要在 pom.xml 中添加以下内容:

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

 注意:spring-boot-starter-parent 父项目的 pom.xml 文件中已经排除了 repackage goal,如果没有使用 父 pom 文件,需要自行声明这个配置,点击查看详情。

保存后,在命令行运行如下命令:

mvn package

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.0.0.RELEASE:repackage (default) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

 完成后,查看 target 目录,会看到 有名为 myproject-0.0.1-SNAPSHOT.jar 和 myproject-0.0.1-SNAPSHOT.jar.original 文件。后缀为 original 的文件是 maven 打包的原文件(在 spring boot 重新打包之前)。

此时,以下方式也可以启动项目:

java -jar target/myproject-0.0.1-SNAPSHOT.jar

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

 

 OK,准备工作完成,热身结束了。

 

下一篇,使用 spring boot !

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    SpringBoot项目:博客管理系统.zip

    通过对该系统的开发和部署,开发者可以学到如何利用SpringBoot等现代技术栈快速构建起一个高性能的Web应用,并且掌握软件开发的全流程,包括需求分析、系统设计、编码实现、测试验证和文档编写等。

    SpringBoot官方文档(中文)

    SpringBoot官方文档(中文)是基于Spring Boot框架的详尽参考指南,旨在帮助开发者快速理解和掌握这个流行的Java应用开发工具。Spring Boot简化了创建独立、生产级别的基于Spring的应用程序,它通过提供默认配置来消除...

    SpringBoot 赋能:雕琢高性能 Java 学习平台,解锁高效学习体验

    SpringBoot 作为Spring框架的一个重要分支,它的出现极大地简化了基于Spring的应用开发,尤其是对于企业级应用。它通过约定优于配置的理念,自动化地完成了一系列配置任务,让开发者能够快速启动和运行应用,极大地...

    运用 SpringBoot 雕琢:驾校管理系统的微服务架构卓越实践

    SpringBoot作为一个开源的Java框架,大大简化了基于Spring的应用程序的创建和开发过程,因此它成为了微服务实现的热门选择之一。本篇文章以驾校管理系统为例,深入探讨了如何运用SpringBoot实现微服务架构的卓越实践...

    spring-boot-中文参考手册 SpringBoot中文文档 springboot 中文 文档

    spring-boot-中文参考手册 SpringBoot中文文档 springboot 中文 文档 SpringBoot 帮助您创建可以独立运行的、基于 Spring 的生产级应用程序。我们对 Spring 平台和第三方库有自己的看法,所以您可以从最简单的开始。...

    springboot官方文档

    SpringBoot是由Pivotal团队提供的全新框架,其设计目的是简化新Spring应用的初始搭建...不过,由于文档长度限制,这里只是对SpringBoot官方文档的一个简要介绍,想要深入学习还需要详细阅读并实践官方文档中的内容。

    SpringBoot官方文档手册

    ### Spring Boot 官方文档手册知识点总结 #### 一、Spring Boot 文档概览与入门指南 ##### 1. 关于文档 - **版本**: 本手册为 Spring Boot 1.4.2.RELEASE 版本。 - **作者**: Phillip Webb、Dave Syer、Josh Long...

    SpringBoot2.1官方文档 完整版

    SpringBoot2.1官方文档 十分详细

    spring-boot-2.4.0官方文档

    spring-boot-2.4.0官方文档,也可去这个超慢的链接自己下载(这儿有各个版本的文档)https://docs.spring.io/spring-boot/docs/2.4.0/reference/htmlsingle/#using-boot-importing-xml-configuration

    java-springboot中国古诗词学习平台实现源码(源代码+说明文档)

    springboot中国古诗词学习平台 中国古诗词网站中,用户可以主动的发布古诗词咨询问题信息,获取别人对该古诗词问题的解答和讨论,从而...关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog

    spring boot2.0官网中文文档

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot...

    springboot 中文文档(2018)

    SpringBoot是Spring框架的一种简化和快速开发工具,它旨在简化创建独立、生产就绪的Java应用程序。这个2018年的中文文档包含了SpringBoot的核心概念、配置、开发流程以及最佳实践,是学习和掌握该框架的重要资源。 ...

    SpringBoot中文文档 SpringBoot参考文档 SpringBoot中文参考文档

    SpringBoot中文文档 SpringBoot参考文档 SpringBoot中文参考文档,最新版本,每个Java程序员必备书籍

    (基于Springboot的Java毕业设计)图书管理系统(源码+演示视频+说明文档).rar

    框架:springboot 架构:B/S 数据库:mysql 【实现功能】 系统用户主要有两种类型,一种是以使用为主要目的的用户角色类型,另一种是以管理为主要目的的管理员角色类型。用户角色的主要功能需求包括图书信息查询、...

    springboot学习资源

    SpringBoot是Spring框架的一种简化和快速开发方式,它旨在简化Spring应用的初始搭建以及开发过程。这个学习资源包聚焦于SpringBoot的使用,特别是结合Spring5和SpringBoot2.0的配置,以及如何配置热启动插件。让我们...

    java-springboot-java语言学习平台源码(源代码+说明文档资料)

    springboot-java语言学习平台 系统有首页,个人中心,学生管理,教师管理,课程信息管理,类型管理,作业信息管理,资料信息管理,签到...关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog

    (基于Springboot的Java毕业设计)在线文档管理系统的设计与实现(源码+演示视频+说明文档).rar

    框架:springboot 架构:B/S 数据库:mysql 【实现功能】 管理员登录进入在线文档管理系统可以查看首页、个人中心、公告信息管理、部门信息管理、岗位管理、员工管理、文档信息管理等信息。 员工登录进入在线文档...

    基于Springboot框架某项目核心文档(可做项目文档模板)

    SpringBoot框架是Java开发中的一个流行选择,它简化了创建独立、生产级别的基于Spring的应用程序。这个基于SpringBoot的项目核心文档提供了全面的信息,对于理解项目结构、功能和实现细节至关重要。以下是这些文档的...

    b548文档管理系统-springboot+vue+elementui.zip

    框架:springboot 技术:Vue JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 系统是一个很好的项目,结合了...

    基于Java+SpringBoot的在线文档管理系统毕业设计(源码+演示视频+说明文档+数据库).rar

    框架:springboot 架构:B/S 数据库:mysql 【演示视频】 https://pan.quark.cn/s/5cda95b17ee0 【实现功能】 管理员登录进入在线文档管理系统可以查看首页、个人中心、公告信息管理、部门信息管理、岗位管理、...

Global site tag (gtag.js) - Google Analytics