SpringBoot实战项目教程,真TM香!

本文介绍了Spring Boot的核心特性,包括自动配置、起步依赖、命令行界面和Actuator,阐述了它如何简化Java应用程序开发。Spring Boot并非应用服务器,而是通过内嵌Servlet容器实现自执行JAR。文章强调Spring Boot不是替代现有企业级Java规范的实现,而是提供了自动配置Bean和管理依赖的便利。文章还提到了Spring Initializr,这是一个在线工具,可以帮助快速初始化Spring Boot项目结构。
摘要由CSDN通过智能技术生成

本章内容
 Spring Boot简化Spring应用程序开发
 Spring Boot的基本特性
 Spring Boot工作区的设置

以下知识点解析来自于《SpringBoot实战》文档其中的一部分!由于不影响观看,只选取了其中的一部分来展示。 需要完整版的可以点击这里!!暗号CSDN,获取!

前言

Spring Framework已有十余年的历史了,已成为Java应用程序开发框架的事实标准。在如此
悠久的历史背景下,有人可能会认为Spring放慢了脚步,躺在了自己的荣誉簿上,再也做不出什
么新鲜的东西,或者是让人激动的东西。甚至有人说,Spring是遗留项目,是时候去看看其他创
新的东西了。

1.1 Spring 风云再起

Spring诞生时是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plain Old Java Object,POJO)实现了EJB的功能。

虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配置,而且是很多XML配置。Spring 2.5引入了基于注解的组件扫描,这消除了大量针对应用程序自身
组件的显式XML配置。Spring 3.0引入了基于Java的配置,这是一种类型安全的可重构配置方式,
可以代替XML。
尽管如此,我们依旧没能逃脱配置的魔爪。开启某些Spring特性时,比如事务管理和Spring
MVC,还是需要用XML或Java进行显式配置。启用第三方库时也需要显式配置,比如基于
Thymeleaf的Web视图。配置Servlet和过滤器(比如Spring的DispatcherServlet)同样需要在
web.xml或Servlet初始化代码里进行显式配置。组件扫描减少了配置量,Java配置让它看上去简洁
不少,但Spring还是需要不少配置。
所有这些配置都代表了开发时的损耗。因为在思考Spring特性配置和解决业务问题之间需要
进行思维切换,所以写配置挤占了写应用程序逻辑的时间。和所有框架一样,Spring实用,但与
此同时它要求的回报也不少。
除此之外,项目的依赖管理也是件吃力不讨好的事情。决定项目里要用哪些库就已经够让人
头痛的了,你还要知道这些库的哪个版本和其他库不会有冲突,这难题实在太棘手。
并且,依赖管理也是一种损耗,添加依赖不是写应用程序代码。一旦选错了依赖的版本,随
之而来的不兼容问题毫无疑问会是生产力杀手。
Spring Boot让这一切成为了过去。
1.1.1 重新认识 Spring
假设你受命用Spring开发一个简单的Hello World Web应用程序。你该做什么?我能想到一些
基本的需要。
1、一个项目结构,其中有一个包含必要依赖的Maven或者Gradle构建文件,最起码要有Spring
MVC和Servlet API这些依赖。
2、一个web.xml文件(或者一个WebApplicationInitializer实现),其中声明了Spring
的DispatcherServlet。  一个启用了Spring MVC的Spring配置。
3、一个控制器类,以“Hello World”响应HTTP请求。
4、 一个用于部署应用程序的Web应用服务器,比如Tomcat。
最让人难以接受的是,这份清单里只有一个东西是和Hello World功能相关的,即控制器,剩
下的都是Spring开发的Web应用程序必需的通用样板。既然所有Spring Web应用程序都要用到它
们,那为什么还要你来提供这些东西呢?

假设这里只需要控制器。代码清单1-1所示基于Groovy的控制器类就是一个简单而完整的 Spring应用程序。

	@RestController 
	class HelloController {
    
 			@RequestMapping("/") 
				 def hello() {
    
 				return "Hello World" 
 	} 
}

这里没有配置,没有web.xml,没有构建说明,甚至没有应用服务器,但这就是整个应用程
序了。Spring Boot会搞定执行应用程序所需的各种后勤工作,你只要搞定应用程序的代码就好。
假设你已经装好了Spring Boot的命令行界面(Command Line Interface,CLI),可以像下面这
样在命令行里运行HelloController:

$ spring run HelloController.groovy

想必你已经注意到了,这里甚至没有编译代码,Spring Boot CLI可以运行未经编译的代码。
之所以选择用Groovy来写这个控制器示例,是因为Groovy语言的简洁与Spring Boot的简洁有
异曲同工之妙。但Spring Boot并不强制要求使用Groovy。实际上,本书中的很多代码都是用Java
写的,但在恰当的时候,偶尔也会出现一些Groovy代码。
不要客气,直接跳到1.2.1节吧,看看如何安装Spring Boot CLI,这样你就能试着编写这个小
小的Web应用程序了。现在,你将看到Spring Boot的关键部分,看到它是如何改变Spring应用程
序的开发方式的。
1.1.2 Spring Boot 精要
Spring Boot将很多魔法带入了Spring应用程序的开发之中,其中最重要的是以下四个核心。
1、自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置。
2、起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
3、命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,
无需传统项目构建。
4、Actuator:让你能够深入运行中的Spring Boot应用程序,一探究竟。
每一个特性都在通过自己的方式简化Spring应用程序的开发。本书会探寻如何将它们发挥到
极致,但就目前而言,先简单看看它们都提供了

SpringBoot实战(第4版)清晰文字版,第 1 章 入门 ................................................ 1 1.1 Spring 风云再起 ........................................ 1 1.1.1 重新认识 Spring ............................ 2 1.1.2 Spring Boot 精要 ........................... 3 1.1.3 Spring Boot 不是什么 ................... 6 1.2 Spring Boot 入门 ....................................... 6 1.2.1 安装 Spring Boot CLI .................... 7 1.2.2 使用 Spring Initializr 初始化 Spring Boot 项目 .......................... 10 1.3 小结 ......................................................... 18 第 2 章 开发第一个应用程序 .................... 19 2.1 运用 Spring Boot ..................................... 19 2.1.1 查看初始化的 Spring Boot 新项目 .......................................... 21 2.1.2 Spring Boot 项目构建过程 解析 .............................................. 24 2.2 使用起步依赖 .......................................... 27 2.2.1 指定基于功能的依赖 ................... 28 2.2.2 覆盖起步依赖引入的传递依赖 .... 29 2.3 使用自动配置 .......................................... 30 2.3.1 专注于应用程序功能 ................... 31 2.3.2 运行应用程序 .............................. 36 2.3.3 刚刚发生了什么 ........................... 38 2.4 小结 ......................................................... 41 第 3 章 自定义配置 .................................... 42 3.1 覆盖 Spring Boot 自动配置 ..................... 42 3.1.1 保护应用程序 .............................. 43 3.1.2 创建自定义的安全配置 ............... 44 3.1.3 掀开自动配置的神秘面纱 ........... 48 3.2 通过属性文件外置配置 ........................... 49 3.2.1 自动配置微调 .............................. 50 3.2.2 应用程序 Bean 的配置外置 ......... 55 3.2.3 使用 Profile 进行配置 .................. 59 3.3 定制应用程序错误页面 ........................... 62 3.4 小结 ......................................................... 64 第 4 章 测试 ............................................... 66 4.1 集成测试自动配置 .................................. 66 4.2 测试 Web 应用程序 ................................. 68 4.2.1 模拟 Spring MVC ........................ 69 4.2.2 测试 Web 安全 ............................. 72 4.3 测试运行中的应用程序 ........................... 74 4.3.1 用随机端口启动服务器 ............... 75 4.3.2 使用 Selenium 测试 HTML 页面 ............................................. 76 4.4 小结 ......................................................... 78 第 5 章 Groovy 与 Spring Boot CLI ......... 80 5.1 开发 Spring Boot CLI 应用程序 .............. 80 5.1.1 设置 CLI 项目 .............................. 81 5.1.2 通过 Groovy 消除代码噪声 ......... 81 5.1.3 发生了什么 .................................. 85 5.2 获取依赖 .................................................. 86 5.2.1 覆盖默认依赖版本 ....................... 87 5.2.2 添加依赖仓库 .............................. 88 5.3 用 CLI 运行测试 ...................................... 89 5.4 创建可部署的产物 .................................. 91 5.5 小结 ......................................................... 91 第 6 章 在 Spring Boot 中使用 Grails ...... 93 6.1 使用 GORM 进行数据持久化 ................. 93 2 目 录 6.2 使用 Groovy Server Pages 定义视图 ....... 98 6.3 结合 Spring Boot 与 Grails 3 ................. 100 6.3.1 创建新的 Grails 项目 ................. 100 6.3.2 定义领域模型 ............................ 103 6.3.3 开发 Grails 控制器 ..................... 104 6.3.4 创建视图 .................................... 105 6.4 小结 ....................................................... 107 第 7 章 深入 Actuator .............................. 108 7.1 揭秘 Actuator 的端点 ............................ 108 7.1.1 查看配置明细 ............................ 109 7.1.2 运行时度量 ................................ 115 7.1.3 关闭应用程序 ............................ 121 7.1.4 获取应用信息 ............................ 121 7.2 连接 Actuator 的远程 shell .................... 122 7.2.1 查看 autoconfig 报告 ........... 123 7.2.2 列出应用程序的 Bean ............... 124 7.2.3 查看应用程序的度量信息 ......... 124 7.2.4 调用 Actuator 端点 .................... 125 7.3 通过 JMX 监控应用程序 ....................... 126 7.4 定制 Actuator......................................... 128 7.4.1 修改端点 ID ............................... 128 7.4.2 启用和禁用端点 ........................ 129 7.4.3 添加自定义度量信息 ................. 129 7.4.4 创建自定义跟踪仓库 ................. 132 7.4.5 插入自定义健康指示器 ............. 134 7.5 保护 Actuator 端点 ................................ 136 7.6 小结 ....................................................... 138 第 8 章 部署 Spring Boot 应用程序 ........ 139 8.1 衡量多种部署方式 ................................ 139 8.2 部署到应用服务器 ................................ 140 8.2.1 构建 WAR 文件 ......................... 141 8.2.2 创建生产 Profile ........................ 142 8.2.3 开启数据库迁移 ........................ 145 8.3 推上云端 ............................................... 150 8.3.1 部署到 Cloud Foundry ............... 150 8.3.2 部署到 Heroku ........................... 153 8.4 小结 ....................................................... 155 附录 A Spring Boot 开发者工具.............. 157 附录 B Spring Boot 起步依赖 ................. 163 附录 C 配置属性 ...................................... 169 附录 D Spring Boot 依赖 ......................... 202
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值