《精通Spring MVC 4》——第1章 快速搭建Spring Web应用 1.1Spring Tool Suite简介

简介: 为Web应用生成一个JAR文件?将Web应用打包为JAR文件,这一点你们可能会觉得有些诡异。尽管仍然可以将其打包为WAR,但这并不是推荐的实践。在默认情况下,Spring Boot将会创建一个胖JAR包(fat JAR),这个JAR包中包含了应用所有的依赖,提供了通过“java-jar”命令便捷启动Web应用的方法。

本节书摘来自异步社区《精通Spring MVC 4》一书中的第1章,第1.1节,作者:【美】Geoffroy Warin著,更多章节内容可以访问云栖社区“异步社区”公众号查看

第1章 快速搭建Spring Web应用

在本章中,我们将会直接接触代码并搭建一个Web应用,本书的其他章节将会基于该应用进行讲解。

在这里,我们将会使用Spring Boot的自动配置功能来构建应用,这样的话,就能完全避免使用样板式的配置文件。

本书中将会使用Gradle和Java 8,但是也不必为此感到担心。如果你还在使用Maven和更早版本的Java的话,相信你会发现这些技术也是很易于使用的。

很多官方的Spring教程同时提供了Gradle构建和Maven构建,因此,如果你决定继续使用Maven的话,也能很容易地找到样例。Spring 4完全兼容Java 8,如果你不采用Lambda表达式来简化代码库的话,那真的是很遗憾的事情。

本书同时还会为你展示一些Git命令。笔者认为,跟踪工作进展并在稳定的状态进行提交是一件好事。另外,这样还能很容易地将你的工作成果与本书提供的源码进行对比。

本书第9章将借助Heroku部署我们的应用,建议从一开始就使用Git对代码进行版本管理。在本章中,关于如何开始使用Git,我会给出一些建议。

1.1 Spring Tool Suite简介

如果要开始学习Spring并使用Spring社区所提供的指南和Starter项目的话,那么最好的起步方式之一就是下载Spring Tool Suite(STS)。STS是一个自定义版本的Eclipse,它被用来与各种Spring项目进行协作,它同时还包括Groovy和Gradle功能。即便如此,你可能像我一样,还会使用其他的IDE,但是,我强烈建议你给STS一个机会,因为它通过“Getting Started”项目,能够让你快速地了解Spring广阔的生态系统。

还推荐你下载“Groovy Eclipse”以及“Groovy 2.4 compiler”,如图1-1所示,在本书的后文中,介绍使用geb构建验收测试时会用到它们。

screenshot

图1-1

现在,在起步阶段,提供两种可选方案。

第一个方案是使用“File | New | Spring Starter Project”导航菜单,如图1-2的截屏所示。这里的可选项是与http://start.Spring.io相同的,只不过嵌入到了IDE中。

screenshot

图1-2

通过使用顶部菜单中的“File | New | Import Getting Started Content”,我们可以看到http://spring.io上所有的可配置项,这里可以选择使用Gradle或Maven,如图1-3所示。

screenshot

可以下载Starter代码,并按步骤学习本书中的内容,也可以直接下载完整的代码。
screenshot

图1-3

在“Getting Started Content”中有很多有意思的内容,建议读者自行对其进行一下探索。它阐述了如何将Spring与各种读者可能感兴趣的技术进行集成。

此时,将会生成一个Web项目,如图1-3所示,这是一个Gradle应用,会生成JAR文件并使用Java 8。

表1-1是我们想要使用的配置。

screenshot

在第2个界面中,将会询问你想要使用的Spring Boot版本以及想要添加进工程的依赖。

在编写本书的时候,Spring Boot的最新版本是1.2.5,请确保你始终选择最新的版本。

当你阅读本书的时候,可以使用最新的快照版本。如果到那时Spring Boot1.3还没有发布的话,那么你可以试一下快照版本。
在配置窗口的底部会有一些复选框,代表各种Spring Boot starter库。它们是可以添加到构建文件中的依赖项,针对各种Spring项目,它们提供了自动配置功能。

现在只关心Spring MVC,所以只选中Web这个复选框。

screenshot

为Web应用生成一个JAR文件?将Web应用打包为JAR文件,这一点你们可能会觉得有些诡异。尽管仍然可以将其打包为WAR,但这并不是推荐的实践。在默认情况下,Spring Boot将会创建一个胖JAR包(fat JAR),这个JAR包中包含了应用所有的依赖,提供了通过“java-jar”命令便捷启动Web应用的方法。
你点击了“Finish”按钮了吗?如果已经点击了的话,将会得到如图1-4所示的项目结构。

screenshot

图1-4

可以看到主类MasterSpringMvcApplication及其测试类MasterSpringMvc ApplicationTests,还可以看到两个空的文件夹——static和templates,它们分别用来存放静态Web资源(图片、样式文件等)和模板(jsp、freemarker或Thymeleaf)。最后一个文件是空的application.properties,它是Spring Boot默认的配置文件。这是一个很便利的文件,在本章中,将会看到Spring Boot如何使用它。

对于构建文件build.gradle,稍后将会详细介绍。

如果你觉得已经准备就绪,那么运行应用的主方法,这样就能会启动一个Web服务器。

要做到这一点,切换至应用的主方法,然后右键点击该类,并在工具栏中导航至“Run as | Spring Application”,或者点击工具栏上绿色的Play按钮。

遵循上面的步骤,并导航至http://localhost:8080,此时会产生一个错误,不必担心,请继续往下阅读。

接下来将为读者展示如何不使用STS来生成相同的项目,然后再回过头来看这些文件。

相关文章
|
3月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
65 4
|
3月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
208 1
|
16天前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
241 0
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
137 62
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
67 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
1月前
|
XML Java 数据格式
Spring Core核心类库的功能与应用实践分析
【12月更文挑战第1天】大家好,今天我们来聊聊Spring Core这个强大的核心类库。Spring Core作为Spring框架的基础,提供了控制反转(IOC)和依赖注入(DI)等核心功能,以及企业级功能,如JNDI和定时任务等。通过本文,我们将从概述、功能点、背景、业务点、底层原理等多个方面深入剖析Spring Core,并通过多个Java示例展示其应用实践,同时指出对应实践的优缺点。
57 14
|
2月前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
257 12
基于开源框架Spring AI Alibaba快速构建Java应用
|
1月前
|
XML 前端开发 安全
Spring MVC:深入理解与应用实践
Spring MVC是Spring框架提供的一个用于构建Web应用程序的Model-View-Controller(MVC)实现。它通过分离业务逻辑、数据、显示来组织代码,使得Web应用程序的开发变得更加简洁和高效。本文将从概述、功能点、背景、业务点、底层原理等多个方面深入剖析Spring MVC,并通过多个Java示例展示其应用实践,同时指出对应实践的优缺点。
81 2
|
2月前
|
JSON 安全 算法
Spring Boot 应用如何实现 JWT 认证?
Spring Boot 应用如何实现 JWT 认证?
88 8
|
2月前
|
消息中间件 Java Kafka
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
Spring Boot 与 Apache Kafka 集成详解:构建高效消息驱动应用
61 1
下一篇
开通oss服务