新書推薦:
《
大英博物馆东南亚简史
》
售價:NT$
806.0
《
纯粹·我只要少许
》
售價:NT$
367.0
《
经济史的趣味(全新增订版)(经济史与思想史丛书)
》
售價:NT$
383.0
《
中国古代鬼神录
》
售價:NT$
866.0
《
投机苦旅:一位投机客的凤凰涅槃
》
售價:NT$
403.0
《
重返马赛渔场:社会规范与私人治理的局限
》
售價:NT$
316.0
《
日子慢慢向前,事事慢慢如愿
》
售價:NT$
254.0
《
场景供应链金融:将风口变成蓝海
》
售價:NT$
509.0
|
編輯推薦: |
本书以零基础为出发点,与大量实战开发案例、完整项目案例相结合,配以360分钟视频讲解,涵盖Spring Boot开发的基础知识与*知识点;包括Spring Boot的简介、开发起步、相关注解介绍和Web应用开发、数据库访问、数据库访问、Web服务开发、数据处理、文件应用、WebFlux开发以及示例代码等,适合Spring Boot开发的初学者(特别是在校学生)、Web应用开发者和企业级应用开发爱好者等读者;可以作为大学课程的教学用教材、自学的入门读物、开发过程的参考书。
|
內容簡介: |
本书先逐步介绍Spring Boot开发的基础知识;包括Spring Boot的简介、开发起步、相关注解介绍和Web应用开发、数据库访问、数据库访问、Web服务开发、数据处理、文件应用、WebFlux开发以及示例代码。然后结合一个简单案例演示了Spring Boot开发的全过程。本书内容由浅入深,结合示例介绍各个知识点,按照开发步骤的方式组织内容;可以帮助读者更好地理解、掌握Spring Boot开发技术。 本书内容通俗易懂,适合Spring Boot开发的初学者(特别是在校学生)、Web应用开发者和企业级应用开发爱好者等读者;可以作为大学课程的教学用教材、自学的入门读物、开发过程的参考书。
|
關於作者: |
吴胜,副教授,在软件工程、电子商务等方面有丰富的教学经验,曾出版《人工智能基础与应用》《微信小程序开发基础》。
|
目錄:
|
目录
第1章 Spring Boot简介 1
1.1 Spring Boot的发展背景 1
1.1.1 Spring的发展 1
1.1.2 Spring的生态圈 2
1.1.3 Spring Boot的发展 3
1.2 Spring Boot的特征 4
1.2.1 Spring Boot的特点 4
1.2.2 Spring Boot 2的新特性 4
1.2.3 Spring Boot 2的核心模块 5
1.3 Spring Boot的工作机制 7
1.3.1 Spring Boot应用启动入口类的分析 7
1.3.2 Spring Boot 2的幕后工作 8
1.3.3 SpringApplication的执行流程 8
1.3.4 Spring Boot应用启动时控制台输出信息 9
习题1 9
第2章 Spring Boot开发起步 10
2.1 配置开发环境 10
2.1.1 安装JDK 10
2.1.2 安装IntelliJ IDEA 11
2.1.3 安装Spring Tool Suite 11
2.2 创建项目 13
2.2.1 利用IDEA创建项目 13
2.2.2 利用STS创建项目 16
2.3 实现Hello World的Web应用 17
2.3.1 用IDEA实现Hello World的Web应用 17
2.3.2 用STS实现Hello World的Web应用 19
2.4 以Hello World应用为例说明项目属性配置 19
2.4.1 配置项目内置属性 19
2.4.2 自定义属性设置 20
2.4.3 利用自定义配置类进行属性设置 21
2.5 Spring Boot开发的一般步骤 23
2.5.1 软件生命周期 23
2.5.2 Spring Boot开发步骤 24
习题2 24
第3章 Spring Boot的相关注解 26
3.1 Java注解 26
3.1.1 Java注解的介绍 26
3.1.2 Java的元注解 27
3.1.3 Java预置的基本注解 30
3.2 Spring注解及注解注入 31
3.2.1 Spring基础注解 31
3.2.2 Spring常见注解 31
3.2.3 Spring的注解注入 35
3.3 Spring Boot的注解 36
3.3.1 Spring Boot基础注解 36
3.3.2 JPA注解 37
3.3.3 异常处理注解 38
3.3.4 注解配置解析和使用环境 38
习题3 39
第4章 Spring Boot的Web应用开发 40
4.1 实现静态Web页面 40
4.1.1 创建类GreetingController 40
4.1.2 创建文件index.html 41
4.1.3 运行程序 41
4.2 实现基于Thymeleaf的Web应用 42
4.2.1 添加依赖 42
4.2.2 修改类GreetingController 42
4.2.3 创建文件hi.html 43
4.2.4 运行程序 43
4.3 Thymeleaf的语法与使用 44
4.3.1 Thymeleaf基础知识 44
4.3.2 Thymeleaf的标准表达式 44
4.3.3 Thymeleaf的表达式对象 45
4.3.4 Thymeleaf设置属性 46
4.3.5 Thymeleaf的迭代和条件语句 48
4.3.6 Thymeleaf模板片段的定义和引用 49
4.4 实现基于Freemarker的Web应用 50
4.4.1 添加依赖 50
4.4.2 创建类TemplateController 50
4.4.3 创建文件helloFtl.ftl 50
4.4.4 运行程序 51
4.5 Spring Boot对Ajax的应用 51
4.5.1 创建类HelloWorldAjaxController 51
4.5.2 创建文件index.html 52
4.5.3 运行程序 52
4.6 Spring Boot实现RESTful风格Web应用 53
4.6.1 创建类BlogController 53
4.6.2 创建文件index.html 54
4.6.3 创建文件blog.html 54
4.6.4 创建文件query.html 55
4.6.5 运行程序 55
4.7 带Bootstrap和jQuery的Web应用 56
4.7.1 添加依赖 56
4.7.2 创建类Person 56
4.7.3 创建类BJController 57
4.7.4 添加辅助文件 58
4.7.5 创建文件index.html 58
4.7.6 运行程序 60
4.8 使用Servlet、过滤器、监听器和拦截器 60
4.8.1 创建类MyServlet1 61
4.8.2 修改入口类1 62
4.8.3 运行程序1 62
4.8.4 创建类MyServlet2 62
4.8.5 修改入口类2 63
4.8.6 运行程序2 64
4.8.7 创建类MyFilter 64
4.8.8 创建类MyServletContextListener 65
4.8.9 创建类MyHttpSessionListener 65
4.8.10 运行程序3 65
4.8.11 创建类MyInterceptor1 66
4.8.12 创建类MyInterceptor2 67
4.8.13 创建类MyWebAppConfigurer 67
4.8.14 运行程序4 68
习题4 68
第5章 Spring Boot的数据库访问 70
5.1 使用JDBC访问H2数据库 71
5.1.1 添加依赖 71
5.1.2 创建类Customer 71
5.1.3 修改入口类 72
5.1.4 修改配置文件application.properties 73
5.1.5 运行程序 74
5.2 使用Spring Data JPA访问H2数据库 75
5.2.1 添加依赖 75
5.2.2 创建类User 76
5.2.3 创建接口UserRepository 76
5.2.4 修改入口类 77
5.2.5 修改配置文件application.properties 78
5.2.6 运行程序 78
5.2.7 程序扩展 79
5.3 使用Spring Data JPA和RESTful访问H2数据库 80
5.3.1 添加依赖 80
5.3.2 创建类Person 80
5.3.3 创建接口PersonRepository 81
5.3.4 修改配置文件application.properties 82
5.3.5 启动程序并进行REST服务测试 82
5.4 使用Spring Data JPA访问MySQL数据库 84
5.4.1 添加依赖 84
5.4.2 创建类User和接口UserRepository 85
5.4.3 修改配置文件和入口类 85
5.4.4 运行程序 86
5.4.5 程序扩展 86
5.5 访问MongoDB数据库 88
5.5.1 添加依赖 88
5.5.2 创建类Person 88
5.5.3 创建接口PersonRepository 89
5.5.4 修改入口类 90
5.5.5 运行程序 91
5.5.6 程序扩展 92
5.5.7 使用REST方法访问MongoDB 93
5.6 访问Neo4j数据库 95
5.6.1 添加依赖 95
5.6.2 创建类Actor 95
5.6.3 创建接口ActorRepository 97
5.6.4 修改配置文件application.properties 97
5.6.5 修改入口类 97
5.6.6 运行程序 98
5.6.7 利用REST方法访问Neo4j 99
5.7 访问数据库完整示例 103
5.7.1 添加依赖 103
5.7.2 创建类Book 103
5.7.3 创建接口BookDao 104
5.7.4 修改配置文件application.properties 104
5.7.5 创建类BookController 105
5.7.6 创建文件bookAdd.html 107
5.7.7 创建文件bookList.html 108
5.7.8 创建文件bookUpdate.html 108
5.7.9 运行程序 109
习题5 112
第6章 Spring Boot的Web服务开发 113
6.1 基于Jersey实现RESTful风格Web服务 113
6.1.1 添加依赖 113
6.1.2 创建类Constant 114
6.1.3 创建类JerseyController 114
6.1.4 创建类JerseyConfig 115
6.1.5 修改入口类 116
6.1.6 运行程序 116
6.1.7 补充说明 117
6.2 使用RESTful风格Web服务 118
6.2.1 网上已有Web服务random的说明 118
6.2.2 创建类Quote 118
6.2.3 创建类Value 119
6.2.4 修改入口类 120
6.2.5 运行程序 121
6.3 使用带AngularJS的RESTful风格Web服务 121
6.3.1 添加依赖和辅助文件 121
6.3.2 创建文件ajs.html 121
6.3.3 运行程序 122
6.4 基于Actuator实现RESTful风格Web服务 123
6.4.1 添加依赖 123
6.4.2 创建类Greeting 123
6.4.3 创建类GreetingController 124
6.4.4 修改配置文件application.properties 124
6.4.5 运行程序 124
6.5 实现跨域资源共享的RESTful风格Web服务 125
6.5.1 添加依赖 125
6.5.2 创建类CORSConfiguration 125
6.5.3 创建类ApiController 126
6.5.4 创建文件CORSjs.html 126
6.5.5 运行程序 127
6.6 实现超媒体驱动的RESTful风格Web服务 128
6.6.1 添加依赖 128
6.6.2 创建类Greet 129
6.6.3 创建类GreetController 129
6.6.4 运行程序 130
6.7 整合CXF的Web服务开发 130
6.7.1 修改文件pom.xml 131
6.7.2 创建类User 132
6.7.3 创建接口UserService 133
6.7.4 创建类UserServiceImpl 134
6.7.5 创建类TestConfig 135
6.7.6 运行程序 135
6.7.7 创建类Client并运行程序 136
习题6 137
第7章 Spring Boot的数据处理 138
7.1 声明式事务 138
7.1.1 添加依赖 138
7.1.2 创建类Account 139
7.1.3 创建接口AccountDao 140
7.1.4 创建接口AccountService 140
7.1.5 创建类AccountController 140
7.1.6 创建配置文件application.yml 141
7.1.7 创建类AccountServiceImpl 141
7.1.8 运行程序 142
7.2 数据缓存 143
7.2.1 添加依赖 144
7.2.2 创建类DemoInfo 144
7.2.3 创建接口DemoInfoRepository 145
7.2.4 创建接口DemoInfoService 146
7.2.5 创建类DemoInfoServiceImpl 146
7.2.6 创建类DemoInfoController 147
7.2.7 创建配置文件后运行程序 148
7.3 使用Druid 149
7.3.1 添加依赖 149
7.3.2 创建类DruidStatViewServlet 150
7.3.3 创建类DruidStatFilter 151
7.3.4 修改入口类 151
7.3.5 运行程序 151
7.3.6 扩展程序并运行程序 152
7.4 使用表单验证 154
7.4.1 添加依赖 154
7.4.2 创建类Student 155
7.4.3 创建接口StudentDao 156
7.4.4 创建接口StudentService 156
7.4.5 创建类StudentServiceImpl 156
7.4.6 创建类StudentController 157
7.4.7 创建文件studentAdd.html 157
7.4.8 创建配置文件并运行程序 158
7.5 整合MyBatis访问数据库 159
7.5.1 添加依赖 159
7.5.2 创建类City 160
7.5.3 创建接口CityDao 161
7.5.4 创建接口CityService 161
7.5.5 创建类CityServiceImpl 161
7.5.6 创建类CityController 162
7.5.7 修改配置文件application.properties 162
7.5.8 运行程序 163
7.6 整合Spring Batch和Quartz 163
7.6.1 添加依赖 163
7.6.2 创建类MyTaskOne 164
7.6.3 创建类MyTaskTwo 164
7.6.4 创建类BatchConfig 165
7.6.5 修改入口类 166
7.6.6 运行程序 167
7.6.7 增加依赖 167
7.6.8 修改类BatchConfig 167
7.6.9 创建类CustomQuartzJob 168
7.6.10 创建类QuartzConfig 170
7.6.11 创建文件quartz.properties和application.properties 172
7.6.12 修改入口类 173
7.6.13 运行程序 173
习题7 174
第8章 Spring Boot的文件应用 175
8.1 文件上传 175
8.1.1 添加依赖 175
8.1.2 创建类FileUploadController 176
8.1.3 创建文件file.html 177
8.1.4 创建文件multifile.html 178
8.1.5 运行程序 178
8.1.6 扩展程序 179
8.2 文件下载 180
8.2.1 添加依赖 180
8.2.2 创建类FileDownloadController 180
8.2.3 创建文件downloadfile.html 182
8.2.4 运行程序 182
8.3 图片文件上传和显示 182
8.3.1 添加依赖 182
8.3.2 创建类User 183
8.3.3 创建接口UserRepository 184
8.3.4 创建类MyWebConfig 184
8.3.5 创建类UserPictureController 185
8.3.6 创建文件zhuce.html 186
8.3.7 创建文件permanager.html 186
8.3.8 创建配置文件application.yml 187
8.3.9 创建目录并运行程序 187
8.4 访问HDFS 188
8.4.1 添加依赖 188
8.4.2 修改入口类 189
8.4.3 运行程序 189
8.4.4 简化程序 190
8.5 用Elasticsearch实现全文搜索 190
8.5.1 安装Elasticsearch并添加依赖 190
8.5.2 创建类EsBlog 191
8.5.3 创建接口EsBlogRepository 192
8.5.4 创建类EsBlogRepositoryTest 192
8.5.5 修改配置文件application.properties 194
8.5.6 运行程序(1) 194
8.5.7 创建类BlogController 194
8.5.8 运行程序(2) 195
8.6 实现邮件发送 196
8.6.1 登录邮箱并开启授权码 196
8.6.2 添加依赖 196
8.6.3 创建接口EmailService 197
8.6.4 创建类EmailServiceImp 198
8.6.5 创建类DemoApplicationTests 200
8.6.6 修改配置文件application.properties 201
8.6.7 创建文件email.html 202
8.6.8 运行程序 202
8.7 用REST Docs创建API文档 203
8.7.1 添加依赖 203
8.7.2 创建类HomeController 204
8.7.3 运行程序 204
8.7.4 创建类WebLayerTest 205
8.7.5 创建文件index.adoc 206
8.7.6 添加插件 206
8.7.7 利用Maven的package命令生成文件 207
习题8 208
第9章 Spring Boot 的WebFlux开发 209
9.1 WebFlux及其编程模型 209
9.1.1 WebFlux 209
9.1.2 Spring Boot的WebFlux编程模型 210
9.2 WebFlux入门应用 211
9.2.1 添加依赖 211
9.2.2 创建类CityHandler 212
9.2.3 创建类CityRouter 212
9.2.4 运行程序 213
9.3 实现基于WebFlux的RESTful服务 213
9.3.1 添加依赖 213
9.3.2 创建类User 213
9.3.3 创建类UserController 214
9.3.4 运行程序 216
9.4 基于WebFlux访问MongoDB数据库 218
9.4.1 添加依赖 218
9.4.2 安装并启动MongoDB数据库 218
9.4.3 创建类Person 219
9.4.4 创建接口PersonRepository 219
9.4.5 创建类PersonController 220
9.4.6 修改配置文件application.properties 220
9.4.7 运行程序 221
9.5 基于WebFlux使用Thymeleaf和MongoDB 221
9.5.1 添加依赖 221
9.5.2 创建类City 222
9.5.3 创建接口CityRepository 223
9.5.4 创建类CityHandler 223
9.5.5 创建类CityController 224
9.5.6 创建文件cityList.html 226
9.5.7 创建文件city.html 226
9.5.8 运行程序 227
9.6 基于WebFlux访问Redis数据库 228
9.6.1 添加依赖 228
9.6.2 创建类Coffee 229
9.6.3 创建类CoffeeConfiguration 229
9.6.4 创建类CoffeeLoader 230
9.6.5 运行程序 231
9.6.6 创建类City 231
9.6.7 创建类CityWebFluxController 232
9.6.8 修改配置文件application.properties 233
9.6.9 运行程序 233
9.6.10 创建类CityWebFluxReactiveController 234
9.7 基于WebFlux使用WebSocket 235
9.7.1 添加依赖 235
9.7.2 创建类EchoHandler 236
9.7.3 创建类WebSocketConfiguration 236
9.7.4 创建类WSClient 237
9.7.5 创建文件websocket-client.html 238
9.7.6 运行程序 238
习题9 239
第10章 Spring Boot开发案例 240
10.1 案例分析 240
10.1.1 主要界面 240
10.1.2 主要功能与数据库介绍 243
10.2 案例实现 244
10.2.1 添加依赖 244
10.2.2 创建类User、CourseType和Course 245
10.2.3 创建Service接口 249
10.2.4 创建Service接口实现类 250
10.2.5 创建Mapper接口 253
10.2.6 创建类WebLogAspect 254
10.2.7 创建类CourseQueryHelper 255
10.2.8 创建控制器类 256
10.2.9 修改入口类 262
10.2.10 创建XML文件 263
10.2.11 创建HTML文件 266
10.2.12 修改和创建配置文件 283
10.2.13 创建CSS文件 284
10.2.14 配置辅助文件与运行程序 287
习题10 287
参考文献 288
|
內容試閱:
|
前言
Spring以简化企业级应用开发为己任。无论是Web应用开发、数据库访问还是当前的大数据处理、分布式应用集成,都能看到Spring的身影。然而,一转眼,作为EJB颠覆者的Spring也从最初的轻量级工具变成了庞然大物。而Spring Boot由于能极大地简化配置,并且能和当下流行的微服务架构契合,因此一出现便受到了大家的追捧。
Spring Boot在Java应用开发领域快速兴起,其原因除了它具有约定大于配置、采用更简洁的配置方式来替代XML等特点外,还有一个重要原因是用Spring Boot来开发时不需要同时面对多个框架(如Struts2、Spring和Spring MVC、Hinernate或MyBatis)和不同的视图显示技术(如JSP、Servlet等)。
不同框架之间的联系、整合问题以及由此带来的更加复杂的配置问题(特别是利用XML进行配置时)是Spring学习者在学习时(特别是入门阶段)需要面对的一个重要难题。而Spring Boot较好地封装了相关工具和框架(如Tomcat、Hibernate、MySQL驱动包等),可以开箱即用这些工具和框架,使得Spring Boot开发比较简单。
但是,软件开发领域没有银弹。Spring Boot全面封装、开箱即用使得开发变得更加快速、透明、高效的同时,对于初学者而言,Spring Boot开发时的依赖管理和配置信息设置问题是需要面对的一个挑战。好在开发工具(如Spring Tool Suite、IntelliJ IDEA)以及帮助文档可以有效地帮助Spring Boot初学者降低学习难度。
另外,Spring Boot的应用比较多,这使得Spring Boot的内容略显庞杂。而且,Spring Boot还在快速地更新,这会导致本书介绍的一些知识点在新版本中可能会有更新,于是需要读者在开发时参考官方文档进行知识更新。这些因素也增加了Spring Boot的学习难度。
为了帮助读者更好地掌握Spring Boot开发技术,本书按照开发步骤组织各章节的内容,循序渐进地介绍Spring Boot的开发知识和示例代码。为了帮助读者更好地安排学习时间和帮助教师更好地安排授课,在下表中给出了各章的建议学时(建议学时分为建议理论学时和建议实践学时)。
章 内 容
建议理论学时
建议实践学时
第1章 Spring Boot简介
2
0
第2章 Spring Boot开发起步
2
2
第3章 Spring Boot的相关注解
3
0
第4章 Spring Boot的Web应用开发
5
3
第5章 Spring Boot的数据库访问
5
3
第6章 Spring Boot的Web服务开发
5
3
第7章 Spring Boot的数据处理
4
2
第8章 Spring Boot的文件应用
4
2
第9章 Spring Boot的WebFlux开发
4
3
第10章 Spring Boot开发案例
2
2
合计学时
36
20
在开设Spring Boot开发的相关课程时可以根据总学时、学生基础和教学目标等情况调整各章的学时。学习者也可以有选择地阅读各章节内容并安排好学时。
为便于教学,本书有教学视频、源代码、课件等配套资源。
(1)获取教学视频方式:读者可以先扫描本书封底的文泉云盘防盗码,再扫描书中相应的视频二维码,观看教学视频。
(2)获取源代码及参考答案方式:先扫描本书封底的文泉云盘防盗码,再扫描下方二维码,即可获取。
(3)其他配套资源可以扫描本书封底的课件二维码下载。
由于时间短,加上编者水平有限,书中难免有疏漏之处,敬请读者朋友批评指正。
编 者
2019年1月
|
|