Spring+Spring MVC+MyBatis整合开发实战 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
Spring+Spring MVC+MyBatis整合开发实战电子书下载地址
- 文件名
- [epub 下载] Spring+Spring MVC+MyBatis整合开发实战 epub格式电子书
- [azw3 下载] Spring+Spring MVC+MyBatis整合开发实战 azw3格式电子书
- [pdf 下载] Spring+Spring MVC+MyBatis整合开发实战 pdf格式电子书
- [txt 下载] Spring+Spring MVC+MyBatis整合开发实战 txt格式电子书
- [mobi 下载] Spring+Spring MVC+MyBatis整合开发实战 mobi格式电子书
- [word 下载] Spring+Spring MVC+MyBatis整合开发实战 word格式电子书
- [kindle 下载] Spring+Spring MVC+MyBatis整合开发实战 kindle格式电子书
寄语:
【诚意之作,一线技术专家15年经验的总结。华为、阿里巴巴等知名公司的4位技术专家力荐。系统介绍SSM整合开发,详解500多个知识点示例、1个完整的项目实战案例,即学即用】
内容简介:
Spring是Java开发的*开源框架。Spring、Spring MVC与MyBatis的组合(简称SSM)更是Java Web开发的利器,适用于复杂的企业级应用开发,尤其是互联网企业级应用开发。本书从实战入手,通过大量示例介绍了SSM整合开发的相关内容,可提升读者对框架的掌握度和理解度,从而实现对框架会用、用对及精用的目标。
《Spring Spring MVC MyBatis整合开发实战》共18章,分为5篇。第1篇“Spring核心框架”,涵盖Spring概述,Spring IoC容器初探,Web项目环境搭建与项目创建,Spring IoC容器进阶,基于注解和代码的配置,Spring测试;第2篇“Spring MVC框架”,涵盖Spring Web MVC概述,数据类型的转换、验证与异常处理,Spring MVC进阶,Spring MVC测试框架;第3篇“数据技术”,涵盖数据库与Java数据访问技术,MyBatis入门,MyBatis进阶,Spring数据访问与事务管理;第4篇“SSM整合开发”,涵盖SSM整合概述,SSM整合实例;第5篇“高级开发技术”,涵盖Spring AOP与MVC拦截器,以及Spring Security框架与多线程。
《Spring Spring MVC MyBatis整合开发实战》适合具备Java基础的SSM初学者和进阶开发人员阅读,也适合Java Web开发工程师阅读;对于探究Spring及Spring Boot框架机制与原理的资深工程师也具有参考意义。
书籍目录:
第1篇 Spring核心框架
第1章 Spring概述 2
1.1 Spring的由来与发展 2
1.2 Spring的概念及理念 6
1.3 Spring框架体系结构 7
1.4 Spring生态圈 10
1.5 Spring资源与社区 12
1.6 Spring综述 13
第2章 Spring IoC容器初探 14
2.1 Spring IoC容器及相关概念 14
2.2 Spring容器初始化 20
2.3 依赖注入与方式 26
第3章 Web项目环境搭建与项目创建 30
3.1 环境与前置准备 30
3.2 基于Maven和Eclipse建立项目 36
3.3 Spring框架导入与项目目录 41
3.4 简单的完整实例 43
第4章 Spring IoC容器进阶 46
4.1 Bean实例化的更多方式 46
4.2 Bean的配置属性 48
4.3 依赖注入的配置 53
4.4 特殊的依赖配置 61
4.5 XML配置进阶 64
4.6 容器与Bean扩展点 65
4.7 Spring IoC容器综述 70
第5章 基于注解和代码的配置 73
5.1 Java注解 73
5.2 Spring支持的注解类型与开启方式 76
5.3 Spring支持的Java标准注解 78
5.4 Spring容器配置注解 80
5.5 自动装配的更多介绍 86
5.6 基于Java代码的配置 89
5.7 容器注解汇总 92
第6章 Spring测试 94
6.1 关于测试 94
6.2 Java测试框架 98
6.3 基于Spring的测试 106
6.4 Spring测试注解 116
6.5 测试框架注解汇总 125
第2篇 Spring MVC框架
第7章 Spring Web MVC概述 128
7.1 HTTP Web基础知识 128
7.2 Java Web开发 131
7.3 Spring MVC介绍与实例 141
7.4 Spring MVC技术细节 146
7.5 Spring MVC注解配置 155
7.6 基于代码配置的Spring MVC项目 162
7.7 MVC注解汇总 164
第8章 数据类型的转换、验证与异常处理 166
8.1 类型转换 166
8.2 数据绑定 176
8.3 数据验证 184
8.4 Spring MVC异常处理 192
第9章 Spring MVC进阶 195
9.1 静态资源的放行 195
9.2 父子容器 197
9.3 Spring MVC与JSON 204
9.4 Spring MVC与REST 214
9.5 文件上传 223
9.6 国际化 233
第10章 Spring MVC测试框架 247
10.1 Spring MVC测试概述 247
10.2 模拟应用服务(MockMvc)及其构建器 251
10.3 模拟请求构造器 254
10.4 结果操作 258
10.5 Spring MVC测试框架之其他 266
第3篇 数据技术
第11章 数据库与Java数据访问技术 272
11.1 关系型数据库介绍 272
11.2 MySQL数据库 276
11.3 Java数据访问基本技术 284
11.4 ORM框架介绍 294
11.5 JPA—Java持久层应用接口 298
第12章 MyBatis入门 310
12.1 MyBatis介绍与快速入门实例 310
12.2 MyBatis核心接口和类 314
12.3 MyBatis XML全局配置文件 318
12.4 XML映射文件配置 325
第13章 MyBatis进阶 339
13.1 MyBatis内部运作解密 339
13.2 MyBatis全局配置进阶 343
13.3 动态SQL 348
13.4 MyBatis日志 350
13.5 MyBatis缓存 353
13.6 MyBatis其他 360
第14章 Spring数据访问与事务管理 364
14.1 Spring JDBC模板类 364
14.2 Spring DAO支持 368
14.3 Spring整合ORM框架及JPA 372
14.4 Spring事务处理 375
第4篇 SSM整合开发
第15章 SSM整合概述 396
15.1 SSM整合综述 396
15.2 Spring与Spring MVC整合 410
15.3 Spring与MyBatis整合 414
15.4 SSM异常整合与处理 421
15.5 Java日志与SSM日志整合 430
第16章 SSM整合实例 442
16.1 项目需求、系统架构与系统设计 442
16.2 项目框架搭建(SSM Ext JS) 447
16.2.4 前后端整合思路及开发方式 468
16.3 daport-backend后端开发 471
16.4 daport-frontend前端开发 478
16.5 前后端整合开发 486
16.6 测试、调试与部署 494
第5篇 高级开发技术
第17章 Spring AOP与MVC拦截器 502
17.1 AOP介绍及Java代理 502
17.2 Java AOP框架—AspectJ 509
17.3 Spring AOP框架解密 512
17.4 MVC拦截器与过滤器 524
第18章 Spring Security框架与多线程 531
18.1 Spring Security概述与Web请求认证 531
18.2 Spring Security方法层级授权 538
18.3 Spring Security机制解密 541
18.4 Spring Security代码配置与测试 548
18.5 Spring Security实战 554
18.6 多线程与线程安全 556
作者介绍:
陈学明 毕业于中国科学技术大学。CSDN博客专家,系统设计师,系统分析师。系统分析师考试成绩位列当年全国前50名。获国际项目经理C级认证证书。目前就职于全球知名的芯片设计公司,任IT部门技术经理,专注于企业级应用系统的开发和架构。擅长Java、C/C 、Perl、PHP和Python等开发语言,能熟练使用多种Java开发框架和Web前端框架。有十多年的Spring框架开发经验,成功使用基于SSH的前后端架构实现了对千万价格级别的商业PLM平台系统的替换。此外,使用Spring或Spring Boot开发了多个网络应用项目。
出版社信息:
暂无出版社相关信息,正在全力查找中!
书籍摘录:
第1章 Spring概述
Java是一种面向对象的跨平台编程语言,其引入了JVM(Java虚拟机),能够一次编译,处处运行,开发人员不需要再为操作系统和处理器的不同而导致应用出错或者无法启动而烦恼。就应用开发本身而言,不管使用哪种开发语言,为保证应用代码的可读性、可靠性和可重用性,就需要在单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则等设计原则的指导下,遵循一定的设计模式进行设计和开发。对设计模式的总结,著名的当属GoF的23种设计模式。
Spring框架是为解决企业应用开发的复杂性而诞生,它简化了Java应用开发,提高了应用开发的可测试性和可重用性。Spring的核心理念是控制反转(IoC),其通过依赖注入(DI)的方式来实现控制反转。作为轻量级的IoC容器,Spring框架可以轻松实现与其他多种框架的整合,其逐步成为Java企业级开发流行的框架,而且由基础框架衍生了从Web应用到大数据平台等诸多项目,形成了以框架为核心的生态圈,成为Java应用开发的一站式解决方案。
1.1 Spring的由来与发展
面向过程的编程将需要解决的问题分拆成解决步骤,使用函数将这些步骤实现,并依次调用。20世纪60年代开发的Simula 67语言首次提出了面向对象的编程思想,并引入了类、对象和继承等基础概念,被公认为面向对象语言的“鼻祖”。
Simula 67之后出现的Smalltalk语言迅速引领了面向对象的设计思想的浪潮,被认为是历史上第二个面向对象的程序设计语言和个真正的集成开发环境(IDE),被称为“面向对象编程之母”,它对其他面向对象编程语言的产生也起了极大的推动作用。
Java语言即是在Smalltalk语言的影响下横空出世并迅速发展的。出于统一化和标准化的目的,JCP官方针对Java企业级开发制定了一系列的规范,这其中就包含服务端组件模型标准EJB,但早期EJB标准开发需要遵循严格的Bean定义规范,部署烦琐且对应用服务器有严格要求,对大多数的应用开发来说显得沉重,Spring在这种背景下应运而生并蓬勃发展,由此逐步形成了系统的Spring生态圈。
1.1.1 Java简史
Java自1995年以JDK 1.0版本发布为诞生标志以来,就受到了全世界开发者的推崇和热爱,并迅速成为企业级应用平台开发的“霸主”。特别是在手机等移动终端普及的今天,作为Android系统的开发语言,更是助推了Java语言的发展。在每年的“世界编程语言排行榜”(TIOBE)中,Java语言一直遥遥居上,近年来更是稳坐头名的位置。
JDK(Java Development Kit)是一个Java开发工具包,是Java官方提供的Java运行和开发软件包,主要包含Java运行环境(JRE)、Java基础类库和工具,官方会定期或不定期地发布更新包。在初发布的JDK 1.0版本中,仅包括Java虚拟机、基本语法和AWT等,在1997年JDK 1.1版本中形成了Java技术的基本支撑点,包括内部类、反射、JDBC、JavaBeans和RMI等。为了促进Java的发展和规范Java开发,1998年,由Java的缔造者Sun公司主导成立了JCP(Java Community Process)组织。
JCP是一个开放的组织,初由Sun公司和欧美的一些大厂商组成,全世界的商业公司、非盈利组织、学校乃至个人都有机会加入其中。2018年5月17日,阿里巴巴获邀加入JCP的执行委员会。JCP使用JSR(Java Specification Requests)作为规范文档,描述Java中的规范和技术。
在JCP成立的当年年底,在与IBM成员的共同努力下,Sun公司发布了JDK 1.2,并使用新的名字:Java 2 Platform。从这一版开始,Java技术体系被拆分成3个方向:面向桌面应用开发的J2SE(Java 2 Platform Standard Edition)、面向企业级应用开发的J2EE(Java 2 Platform Enterprise Edition)和面向移动终端的J2ME(Java 2 Platform Micro Edition),Swing、Java Plug-in和EJB等技术也是在这个版本中发布的。
2005年6月的JavaOne大会上,Sun公司将J2XE系列修改为Java XE,发布的新版本分别命名为Java EE 6、Java SE 6和Java ME 6。因为使用习惯,目前业界仍然有沿用J2EE称谓的情况。
在Java企业级应用开发中,有一些功能模块是通用和可以重用的,如数据库连接、邮件服务和事务处理等。一些有实力的大公司如Sun公司自身开发出了可以重用的模块服务,被称作中间件。
为统一Java开发的标准,JCP定义了Java EE的开发框架,作为Java企业级应用开发的规范和指南,也包括中间件的标准。具体技术包括Servlet、JSP(Java Server Pages)、JDBC(Java Database Connectivity)、JNDI(Java Naming and Directory Interface)、RMI(Remote Method Invocation)、Java IDL/CORBA、XML、JMS(Java Message Service)、JTA(Java Transaction API)、JTS(Java Transaction Service)、Java Mail、JAF(JavaBeans Activation Framework)和EJB(EJB-Enterprise JavaBean)。Java EE体系结构如图1.1所示。
图1.1 Java EE体系结构图
EJB是Java EE服务器端组件模型,初在Java EE体系中被寄予厚望,其目标与核心是开发和部署分布式应用程序。将业务逻辑从客户端抽取出来,封装在一个组件中并运行在一个独立的服务器上,客户端软件通过网络调用服务端的组件实现业务逻辑,这个运行在独立服务器上且封装了业务逻辑的组件被称为EJB。对于开发人员来说,这里的组件可以简单地理解为类,也就是把执行业务逻辑的类打包放在服务器上,通过网络进行调用。实现EJB技术的核心是RMI(Remote Method Invocation),更底层的技术就是Socket编程和TCP。
EJB除了处理分布式应用的优势外,还有一个关键作用是简化了代码开发,开发人员不必处理低级事务、状态管理、多线程和连接池等,这些统统交给EJB容器管理。但是EJB的开发较为复杂,学习成本高,包含的内容多,也就是常说的重量级,而且EJB调试比较困难,频繁地序列化和反序列化导致其性能不佳。基于EJB的这些缺陷,逐步出现了一些替代的组件和框架,例如远程调用上Web Service标准逐步盛行,出现了类似于Apache CXF的Web Service框架,JavaBean的管理上则出现了Spring。
1.1.2 Spring编年简史
Spring的出现要追溯到2002年一本著作的出版问世,这本著作中的代码后来逐渐演变成了Spring项目,并于2004年3月在Apache 2.0开源协议下发布正式的1.0版本。Spring发布之后即受到广大Java开发者的采纳和推崇,虽几经变迁,但始终保持强大的生命力和发展势头。Spring近20年的发展历程如图1.2所示。
图1.2 Spring发展图谱
l 2002年10月,Rod Johnson出版了名为《Expert One-on-One J2EE设计和开发》一书。书中指出了EJB组件和Java EE框架的一些主要缺陷,提出了基于POJO(Plain Old Java Objects,简单Java对象)和DI(依赖注入)的解决方案。“不要打电话给我,我会打电话给你”,这个好莱坞原则被生动地应用在软件开发中。书中提出了依赖注入的简单解决方案,在不使用EJB的情况下,构建了一个完整的在线座位预定系统,编写了超过30 000行的基础代码,其中就包括ApplicationContext和BeanFactory。
l 《Expert One-on-One J2EE设计和开发》一书发布不久,Red Johnson创建了一个开源项目,并且与另外两个开发者Juergen和Yann开始合作,项目命名为Spring,寓意Spring是传统J2EE的“冬天”之后的又一春。2003年6月,Spring 0.9在Apache 2.0许可下发布;2004年3月,发布了标志性的1.0版本;也就是这一年8月,Rod、Juergen、Keith和Colin创立了公司 Interface21,专注于Spring的支持、培训和支持。
l Spring 1.0发布之前就广受关注并且已经有开发者在使用,发布之后便被广泛使用,在2006年10月发布Spring 2.0版本时,其下载量就已经破百万了。Spring 2.0版本发布的功能包括可扩展的XML配置、对IoC容器进行了扩展、支持动态语言(如groovy)。
l 在2007年11月发布Spring 2.5版本的同时,Interface21公司更名成现在我们熟悉的SpringSource。Spring 2.5的主要新功能包括支持Java 6/Java EE 5、支持注解配置、组件自动检测和兼容OSGi的bundle。
l 2009年8月,以虚拟机技术闻名的VMWare公司以4.2亿美元收购了SpringSource。同年12月,Spring 3.0发布,新功能包括SpEL(Spring表达式语言)、JavaConfig(基于Java的Bean配置)、模型验证、REST支持和支持嵌入式数据库。
l 2012年7月,Spring创始人Rod离开了团队;2013年4月VMware和EMC合资创立了一家公司Pivotal,Spring及相关项目也转到这家公司,现在在官网上看到的Spring by Pivotal即源于此。
l 2013年12月,Pivotal发布了Spring 4.0,全面支持Java 8,对其他的第三方库支持的版本也更及时(Hibernate 3.6 、Ehcache 2.1 、Groovy 1.8 );支持Java EE 7;支持Websockets等。
l 2017年9月,Spring 5.0发布。
l 目前的稳定版本是Spring 5.2,于2020年2月发布,支持JDK 11。
Spring初由Rod Johnson创建,之后被VMware收购,终归于Pivotal旗下。在近20年的发展历程中,Spring的发展与发扬绝不是逆袭,而是有着雄厚的技术和资本背景。首先来看看Pivotal母公司的VMware、EMC的背景和关联。VMware成立于1998年,总部位于美国加州的帕洛阿尔托,提供云基础架构和移动商务解决方案,其有名的就是VMware的虚拟机产品。
EMC(易安信)是位于美国马萨诸塞州霍普金顿市的一个主营信息存储的科技公司,成立于1979年,是全球第六大企业软件公司和美国财富500强公司之一。2003年,EMC收购了VMware;2007年8月,VMware 在纽约证券交易所公开上市。2015年,戴尔收购了EMC,戴尔虽然是一个老牌的科技公司,但是直到2018年才上市。
接下来就是Spring和Pivotal出场了。Pivotal公司的前身是Pivotal Labs,这个实验室由Rob Mee于1989年创建,专注于快速的互联网软件开发,也就是大名鼎鼎的敏捷编程。2009 年,VMware收购了Spring;2012年,EMC又收购了Pivotal Labs公司;2013年EMC、VMware和Pivotal Labs公司重新组建了新的公司Pivotal。
Pivotal是含着金钥匙出生的,其首轮融资10.5亿美元,2018年于纽交所上市,上市市值达60多亿美元。Pivotal公司除了Spring及衍生的产品之外,还有很多耳熟能详的产品,例如缓存中间件Redis、消息中间件RabbitMQ和平台即服务(PaaS)Cloud Foundry。另外,Pivotal公司还有大名鼎鼎的GemFire,12306就是使用它来解决尖峰高流量的并发问题。
1.2 Spring的概念及理念
Spring是为了解决企业应用开发的复杂性而诞生,它在对Java EE框架的思考和改善之上,实现了对EJB重量级容器的替换。Spring是一个轻量级的依赖注入(DI)和面向切面编程(AOP)的容器框架,极大地降低了企业应用系统开发的耦合性,提高了灵活性。Spring框架开发的原则和理念如下:
l Spring的目标是提供一个一站式轻量级的应用开发平台,抽象应用开发遇到的共性问题。其提供了各个层级的支持,包括Web MVC框架、数据持久层、事务处理和消息中间件等。
l Spring提供了与其他中间件的广泛支持,开发者可以尽可能晚地决定使用哪种方案。以数据持久化框架为例,可以通过配置切换持久层框架,而无须修改代码,其他的基础框架和第三方API的集成也是如此。
l 保持强大的向后兼容性。Spring版本的演变经过精心设计,实现功能升级的同时对旧版本也保持了很好的兼容性。
l 关心API设计。Spring官方提供了全面和易用的API参考文档,这些API文档的稳定性较高,在多个版本中维持不变。Spring框架强调有意义的、及时的和准确的Java Doc。这也得益于Spring清晰、干净的代码结构,它的包之间不存在循环依赖。
1.3 Spring框架体系结构
Spring框架包含20多个模块,每个模块由3个左右的JAR文件组成,这20多个模块按照功能划分为7大类。Spring框架的整体体系结构如图1.3所示。
图1.3 Spring体系结构
接下来就以上分类模块进行简单介绍。
1.容器核心
容器是Spring框架的基础,负责Bean的创建、拼接、管理和获取的工作。Beans和Core模块实现了IoC/DI等核心功能,BeanFactory是容器的核心接口。
Context模块在核心模块之上进行了功能的扩展,添加了国际化、框架事件体系、Bean生命周期管理和资源加载透明化等功能。此外,该模块还提供了其他企业级服务的支持,包括邮件服务、JNDI访问、任务调度和EJB集成等。
SpEL表达式语言模块是统一语言表达式(Unified EL)的一个扩展,用于查询和管理容器管理对象、获取和设置对象属性、调用对象方法、操作数据等。此外,SpEL表达式还可具备逻辑表达式运算和变量定义等功能。基于此表达式,就可以通过字符串与容器进行交互。
2.面向切面编程
在AOP模块中,Spring提供了面向切面编程的支持,类似于事务和安全等关注点从应用中解耦出来。AspectJ是一个面向切面编程的框架,Spring Aspects模块提供了对它的集成。
3.数据访问/集成
数据访问/集成分类包括JDBC、ORM、OXM、JMS和事务处理5个模块。JDBC模块实现了对JDBC的抽象,简化了JDBC进行数据库连接和操作的编码;ORM模块对多个流行的ORM框架提供了统一的数据操作方式,包括Hibernate、MyBatis、Java Persistence API和JDO;OXM模块提供了对OXM实现的支持,比如JAXB、Castor、XML Beans、JiBX和XStream等;JMS模块提供了对消息功能的支持,可以生产和消费消息;事务处理模块提供了编程式和声明式事务管理,支持JDBC和所有的ORM框架。Spring在DAO的抽象层面,对不同的数据访问技术进行了统一和封装,建立了一套面向DAO的统一异常体系。
4.Web与远程调用
Servlet模块包含一个强大的MVC框架,用于Web应用实现视图层与逻辑层的分离。Web模块提供了面向Web的基本功能和Web应用的上下文,例如使用Servlet监听器的IoC容器初始化、文件上传功能等。此模块还包括HTTP客户端和Spring远程调用等。Portlet模块提供了用于Portlet环境的MVC实现。WebSocket模块支持在Web应用中客户端与服务端基于WebSocket双向通信。同时,Spring提供了与其他流行MVC框架的集成,包括Struts、JSF和WebWork等。
除了Web应用外,Spring还提供了对REST API的支持。Spring自带一个远程调用框架HTTP invoker,其集成了RMI、Hessian、Burlap和JAX-WS。
5.Instrumentation(检测)
Instrument模块提供了在应用服务器中使用类工具的支持和类加载器实现。Instrument Tomcat是针对Tomcat的Instrument实现。
6.消息
Messaging模块用于消息处理,也包含了一系列用于映射消息的注解。
7.测试
Test模块通过JUnit和TestNG框架支持的单元测试和集成测试,提供了一系列的模拟对象辅助单元测试。另外,Spring提供了集成测试的框架,可以很容易地加载和获取应用的上下文。
以上模块都已经通过Maven进行管理,组名(groupId)是org.springframework,各模块分别对应不同的项目(artifactId),详细参见表1.1。
表1.1 Spring 框架模块的Maven对应
模 块 名
Maven项目名
描 述
Core
spring-core
核心库
Beans
spring-beans
Bean支持
Context
spring-context
应用的上下文
Context
spring-context-support
集成第三方库到上下文
SpEL
spring-expression
Spring表达式语言
AOP
spring-aop
基于代理的AOP
Aspects
spring-aspects
与AspectJ集成
Instrumentation
spring-instrument
JVM引导的检测代理
Instrumentation Tomcat
spring-instrument-tomcat
Tomcat的检测代理
Messaging
spring-messaging
消息处理
JDBC
spring-jdbc
JDBC的支持和封装
Transaction
spring-tx
事务处理
ORM
spring-orm
对象关系映射,支持JPA和Hibernate
OXM
spring-oxm
对象XML映射
JMS
spring-jms
JMS消息支持
Servlet
spring-webmvc
MVC框架及REST Web
Portlet
spring-webmvc-portlet
Portlet环境的MVC实现
Web
spring-web
客户端及Web远程调用
WebSocket
spring-websocket
WebSocket和SockJS实现
Test
spring-test
测试模拟对象和测试框架
1.4 Spring生态圈
Spring是一个发展和开放的体系。在Spring框架项目的基础上,提供了企业应用级开发的一站式服务。其主要包括基于Spring Framework之上的快速开发框架Spring Boot、对服务进行管理和治理的Spring Cloud,以及通过Spring Cloud Data Flow进行服务的连接。从配置到安全,从Web应用到大数据项目,Spring都提供了相应的项目。包括Spring的核心框架在内,Spring生态圈的主要项目如图1.4所示。
图1.4 Spring生态圈
l Spring Framework(Core):Spring项目的核心。Spring Framework中包含了一系列的IoC容器设计,提供了依赖反转模式的实现。除此之外,Spring框架还包括MVC、JDBC、事务处理及AOP等模块。
l Spring Boot:简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级别的Spring应用。Spring Boot为Spring平台及第三方库提供了开箱即用的设置,这样可以快速地搭建项目并开始开发。
l Spring Cloud Data Flow:用于开发和执行大数据处理、批量运算的统一编程模型和托管服务,简化了大数据应用开发。
l Spring Cloud:一系列框架的有序集合。其包含了很多子项目,主要有分布式/版本化配置Spring Cloud Config、服务注册和发现Spring Cloud Eureka、路由Spring Cloud Zuul、服务到服务的调用Spring Cloud Feign、负载均衡Spring Cloud Ribbon、断路器Spring Cloud Hystrix、分布式消息传递Spring Cloud Bus。
l Spring Data:提供了对JDBC和ORM的良好支持,同时实现对非关系型数据库、MapReduce框架等统一的方式进行数据访问。
l Spring Integration:体现了“企业集成模式”的具体实现,并为企业的数据集成提供解决方案。Spring Integration为企业数据集成提供了各种适配器,通过这些适配器来转换各种消息格式,并帮助Spring应用完成与企业应用系统的集成。
l Spring Batch:提供构建批处理应用和自动化操作的框架。简化及优化大量数据的批处理操作,支持事务、并发、流程、监控、纵向和横向扩展,提供统一的接口管理和任务管理。
l Spring Security:广泛使用的基于Spring的认证和安全工具,其前身是Acegi框架,用于认证和授权;它使用Servlet规范中的Filter限制URL级别的访问,保护Web请求,还可以使用AOP保护方法的调用。
l Spring HATEOAS:HATEOAS(Hypermedia as the engine of application state)即超媒体即应用状态引擎,相对REST的区别是返回结果中包含下一步的链接。此项目提供了对HATEOAS的支持。
l Spring REST Docs:可以快速生成可读的RESTful Service文档。Spring官方文档就是由此生成。
l Spring AMQP:基于Spring框架的AMQP消息解决方案。它使得在Spring应用中使用AMQP消息服务器变得更为简单。这个项目支持Java和.NET两个版本。
l Spring Mobile:基于Spring MVC构建,为移动终端的服务器应用开发提供支持。例如,使用Spring Mobile可以在服务器端自动识别连接到服务器的移动端的相关设备信息,从而为特定的移动端实现应用定制。
l Spring Android:提供一个在Android应用环境中工作的基于Java的REST客户端。
l Spring Web Flow:构建在Spring MVC基础上,用于开发包含流程的应用程序。定义了一种特定的语言来描述工作流,同时高级的工作流控制器引擎可以管理会话状态,支持AJAX来构建丰富的客户端体验,并且提供对JSF的支持。
l Spring Web Service:Spring Boot的Web Service项目。
l Spring LDAP:用于操作LDAP框架,基于Spring的JdbcTemplate模式,简化轻量目录访问协议功能的开发。
l Spring Session:用来创建和管理Servlet HttpSession方案,提供了集群Session的功能,默认使用Redis来存储Session数据,可以解决Session共享等问题。
l Spring Shell:提供交互式Shell,使用简单的命令来开发。
l Spring Flo:一个JavaScript库,是基于Spring Cloud Data Flow中的流构建器。
l Spring Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,是Apache开发的一个开源流处理平台,Spring Kafka对其提供了封装和集成。
l Spring StateMachine:用于简化状态机的开发过程。
l Spring IO Platform:一个依赖包的维护平台,用于解决依赖包的版本冲突问题。在引入第三方依赖的时候,不需要写版本号,该平台可以自动选择一个对应的版本。
除了以上项目之外,Spring社区还提供了快速创建Spring项目的命令工具项目Spring Roo,以及在Scala语言中使用Spring框架的Spring Scala。另外还有一些托管在Apache Attic上不再维护的项目,包括与Adobe Flex技术集成的Spring BlazeDS Integration、用于JVM代理的Spring Loaded、与REST交互的命令行项目REST Shell、大数据产品Spring XD,以及与Facebook、Twitter和LinkedIn等社交网络服务集成的Spring Social。
1.5 Spring资源与社区
Spring官方网站是学习Spring的权威资源,其网址是https://spring.io。针对不同的项目,官方都提供了与版本对应的参考文档和API文档,有的项目还提供了一个或多个示例,可以直接下载运行,如Spring Boot、Spring Cloud及Spring AMQP等。Spring框架的参考和API地址是https://spring.io/projects/spring-framework。 Spring及相关项目的源码都在GitHub中托管,地址是https://github.com/spring-projects。
Spring早期有一个论坛:http://forum.spring.io/。不过目前这个论坛只是一个历史的存档,只能读,其注册、发布和评论的功能都已经关闭了。开发者可以转到http://spring. io/questions提问,这个问答社区是StackOverflow的映射。也就是说,现在所有关于Spring的问答都是在StackOverflow中进行的。
Spring官方虽然没有提供中文版的网站或资源,但是有Spring框架的官方文档翻译书籍,也有在线翻译,比如https://lfvepclr.gitbooks.io/spring-framework-5-doc-cn/content/。官方文档虽然权威,但与中文书籍的结构和思维有一些差异,加之翻译得不够准确,这些文档对于初学者来说理解起来较为困难,对于高级开发者来说深度又不够。
此外,网络上有一些快速入门Spring的教程,如易百教程中的Spring框架学习,地址是https://www.yiibai.com/spring。这些教程是不错的快速学习Spring的资料,不过其知识点较为零散,没有系统性。与StackOverflow类似的中文技术社区CSDN上也有很多Spring相关的文章和资源,开发者也可在其论坛上提问。对于Spring的其他项目,有如下一些在线学习的中文社区或网站。
l http://www.spring4all.com/:涵盖Spring Boot、Spring Cloud、Spring Security和Spring JPA的一些文章,也有对Spring官方文档的翻译,是一个比较活跃的社区。
l http://springboot.fun/:Spring Boot的专题介绍,包括相关文章、一些博客文章和项目实例的收集。
l http://www.springcloud.cn/:Spring Cloud中国社区,是Spring Boot和Spring Cloud技术分享与交流的一个平台。
1.6 Spring综述
Spring IoC容器框架是Spring体系的基础和核心,也是Spring生态体系的发源。一般场景下提到的Spring基本上指的就是Spring核心框架。Spring出于解决企业应用系统开发的复杂性而诞生,常被用来与官方标准的EJB进行比较,并被作为EJB的有效替代产品。
虽然Spring和EJB的应用场景不一定相同,但针对大部分的企业级应用开发,使用Spring框架可以快速搭建应用系统的架构,简化应用开发,理清和解耦应用代码的逻辑和层级,大大提高应用系统开发的效率。为简化配置,Spring推出了Spring Boot,不再需要定义样板化的配置就可以快速建立一个基于Spring的应用,进一步简化了开发模式。
Spring是一个开源框架,诞生之初就基于Apache 2.0开源协议发布,其源码目前控管在GitHub上,官方提供了完整的入门资料和参考文档;Spring是一个开放的框架,其不排斥其他的框架,而是提供了良好或内生的支持,包括Structs、Hibernate、Mybatis、JUnit和TestNG等。
Spring的某些子项目就是对其他框架的集成与整合,例如Spring Kafka。Spring框架所包含的思想除了使用Java语言实现外,也有.NET语言对应的项目Spring.NET。因为Spring的框架简单、开发高效和生态丰富,很多需求都可以找到基于Spring的官方或非官方解决方案,其逐渐成为个人开发者或中小团队的不二之选。
在线阅读/听书/购买/PDF下载地址:
原文赏析:
暂无原文赏析,正在全力查找中!
其它内容:
编辑推荐
诚意之作,一线技术专家15年开发经验的总结
华为、阿里巴巴等知名公司的4位技术专家力荐
涵盖Spring Web开发的方方面面,带领读者从新手蜕变为高手
全面、系统地介绍Spring、Spring MVC及MyBatis整合开发的相关知识
对框架的原理及实现机制做了深入探讨和呈现,让读者知其然也知其所以然
用逻辑关系图与流程图简化和呈现框架的实现机制及原理,理解起来更直观
详解500多个知识点示例和1个完整的项目实战案例,即学即用
媒体评论
本书作者在企业级应用开发领域有很深的造诣和丰富的项目经验。他编写的这本书对Java Web开发人员有较高的参考价值,是一本很好的Spring核心框架整合开发图书。本书对SSM整合开发技术做了系统讲解,并对Spring核心源码和框架原理做了深入分析。通过阅读本书,相信读者会对SSM整合开发有更加深入的理解。
——飞尔智能研发中心总经理 操灿
SSM框架是企业级应用开发利器,尤其是在互联网企业级应用开发中,其使用更为普遍。本书从基础理论、案例解析、项目实战和进阶技术等角度,系统地介绍了SSM整合开发的相关知识,相信会给相关技术人员和学习者带来启发和帮助。
——华为技术有限公司项目经理 李翔
多年前曾与学明共事,那时他就在用Spring进行开发。如今,他依然专注于企业级开发,而且还将这些年的技术积累总结成书。本书内容全面、系统、深入,是一本用心之作,值得每一位从事企业级开发的人员阅读。
——阿里巴巴高级技术专家 徐嘉
不同于市面上那些内容艰涩、实用性不强、讲解不够深入的图书,本书抽丝剥茧地剖析SSM框架的理论知识,并将其应用于开发实践中,而且在实践中引出了多个核心技术点,可以说是“干货”满满。本书作者不仅是我的同学,而且毕业后还和我共事过一段时间。如今,他已经是一位具有15年开发经验的资深软件开发专家,熟悉Java Web开发的各种技术流派和平台。他笔耕不辍,常年在工作之余坚持写技术博客,分享自己的心得,大量的读者因此而受益匪浅。
本书内容涵盖Spring的方方面面,如Spring IoC容器、Spring MVC框架、Spring AOP和数据库等,书中基于Spring技术栈给出了多个示例帮助读者理解。阅读本书,有助于加深读者对Spring技术栈的理解,可以提高读者的SSM整合开发水平。
——上海楷登电子科技有限公司首席软件工程师 徐良
前言
《Spring Spring MVC MyBatis整合开发实战》写作背景
Spring自2002年诞生至今,已有近20年的历史,虽然几经变迁,但始终在继续发展和精进。Spring目前由Pivotal维护和开发。Pivotal是PaaS(平台即服务)的领导者,也是消息中间件 RabbitMQ的缔造者。12306的流量销峰平台Gemfire,也是该公司的手笔。另外,其与知名的NoSQL数据库Redis也渊源颇深。
Spring简化了应用系统的开发,IoC和AOP是它的两大核心理念。IoC容器用来管理组件和注入依赖,AOP进一步降低了模块的耦合性,提高了重用性和开发效率。Spring从初搭配Structs开发Java Web应用,到Spring MVC的横空出世和成熟,始终保持着良好的扩展性和兼容性。除了默认支持的第三方库之外,其他库也容易实现与Spring的整合,这其中就包括MyBatis。相比Hibernate的全自动ORM框架,MyBatis更加灵活和有弹性,其性能也更容易得到提升。
《Spring Spring MVC MyBatis整合开发实战》从实战入手,在使用框架开发的基础上,对框架的原理和实现机制做了深入探讨和呈现,让读者知其然也知其所以然。“上士闻道,勤而行之”,技术学习快捷的方式是在理解的基础上进行实战,在实战的基础上提升对框架的掌握度和理解度,从而实现对框架会用、用对及精用的目标。
《Spring Spring MVC MyBatis整合开发实战》特色
1.从简到繁,由浅入深
《Spring Spring MVC MyBatis整合开发实战》按照Spring、Spring MVC、MyBatis及SSM整合的逻辑顺序组织章节,对书中的知识点从简单示例入手,进而展开详细的介绍和对内部机制的解密。
2.给出简单、细致、详尽的示例代码,方便读者快速学习和理解
《Spring Spring MVC MyBatis整合开发实战》立足实战,书中每个章节的知识点都配备了简单的示例,可以辅助读者快速入门和理解。本书中的示例代码与章节一一对应,方便读者学习和查阅。
3.全面涵盖Java Web开发技术,并对Java底层技术及其他主流库和框架做了介绍
《Spring Spring MVC MyBatis整合开发实战》主要对Spring、Spring MVC和MyBatis及其整合进行了介绍。另外,本书还对Java Web的相关技术和框架进行了介绍,包括Java注解、单元测试(JUnit和TestNG)、Java反射与代理、Java多线程及ThreadLocal、HTTP、Servlet、REST与主流的JSON库(Json-lib、Gson、Fastjson和Jackson)、Commons FileUpload、数据库连接池(C3P0、DBCP2)、Spring与Hibernate整合以及Spring与JPA整合等。
4.注重对原理和机制进行解析,并通过简单的逻辑图示进行展示
《Spring Spring MVC MyBatis整合开发实战》注重对框架内部的实现机制和原理进行解密,包括DispatcherServlet技术细节、MyBatis运作原理、AOP实现机制及Spring Security解密等。对于这些内容,作者通过逻辑关系图或流程图进行简化和呈现,便于读者更加直观地理解。
5.项目案例典型,实战性强,可作为实际项目的模板
《Spring Spring MVC MyBatis整合开发实战》介绍了一个源自实际需求的项目实例,从需求分析开始,完整地呈现了整个项目的分析、设计、架构和开发过程。该项目架构可以作为SSM架构的模板,同类型的项目可以在此之上继续开发。
《Spring Spring MVC MyBatis整合开发实战》内容
第1篇 Spring核心框架(第1~6章)
本篇首先对Spring框架的发展史、体系和生态进行介绍,从宏观上整体俯瞰Spring,然后对Spring的核心框架进行了介绍,具体包括IoC/DI概念浅析、容器配置与初始化、Bean实例化的多种方式、Bean配置属性、依赖注入及前置依赖和循环依赖配置、容器扩展点等。本篇还对Java注解、Spring容器注解及Java代码配置等进行了介绍,另外还介绍了Java测试框架及Spring测试框架等内容。
第2篇 Spring MVC框架(第7~10章)
本篇首先从HTTP和Java Web开始讲起,对Spring MVC的技术细节进行了剖析,包括中央控制器、处理器映射器、处理器适配器及视图解析器等;然后在此基础上对Spring MVC的配置和注解开发进行了介绍,并对MVC项目的类型转换、数据绑定、数据验证和MVC异常处理进行了专题介绍;后在进阶部分介绍了Spring父子容器、REST风格服务、JSON格式数据返回及文件上传等内容。
第3篇 数据技术(第11~14章)
本篇首先介绍了关系型数据库、MySQL与Java数据访问技术、ORM框架、JPA统一接口等内容,然后重点介绍了MyBatis核心接口、XML全局配置及映射配置,并介绍了MyBatis的内部运作、动态SQL、缓存、SQL构造器及基于注解的开发方式等。另外,本篇还对Spring的数据访问技术做了介绍,包括Spring JDBC模板类、Spring DAO、Spring整合ORM及JPA、Spring事务管理等。
第4篇 SSM整合开发(第15、16章)
本篇首先介绍了Spring与Spring MVC,以及Spring与MyBatis整合开发的相关内容,并对异常处理和日志的整合方式进行了分析,然后以一个报表项目为案例,对项目的需求分析、系统分析、系统设计、系统框架搭建及代码开发等整个流程进行了全面介绍。
第5篇 高级开发技术(第17、18章)
本篇主要对Spring AOP框架和Spring Security框架进行了介绍。首先在对Java代理和AspectJ框架介绍的基础上对Spring AOP进行了剖析,并对MVC项目中的拦截器和过滤器进行了比较;然后对Spring Security用户请求和调用方法两个层级的用户认证和授权开发进行了介绍,并对多线程的相关内容及其在Spring框架中的应用进行了介绍。
《Spring Spring MVC MyBatis整合开发实战》配套资源
为了方便读者阅读,本书提供以下配套资源:
书中用到的各种工具;
书中所有示例的源代码;
书中项目案例的源代码及相关设计文档。
这些配套资源需要读者自行下载。请在华章公司的网站www.hzbook.com上搜索到本书,然后单击“资料下载”按钮,即可在本书页面上找到配书资源下载链接进行下载。
《Spring Spring MVC MyBatis整合开发实战》读者对象
需要全面学习Spring、Spring MVC及MyBatis整合开发的人员;
Spring、Spring Web及Spring Boot开发人员;
Java Web系统架构与设计师;
Java EE开发工程师;
Java系统分析师与设计师;
希望提高项目开发水平的人员;
专业培训机构的学员;
软件开发项目经理。
阅读本书的建议
没有SSM框架基础的读者,建议从第1章顺次阅读并演练每一个示例;
有一定SSM框架基础的读者,可以根据实际情况略去基础部分的学习和演练;
对于原理和实现机制及部分进阶内容可以多思考、多理解;
先阅读和理解基础理论并演练相关示例,再参考提供的配套示例代码自行开发和测试,这样学习效果会更好,理解也会更加深刻。
勘误与售后支持
由于写作时间所限,书中可能还存在错漏和不严谨之处,恳请同行专家和各位读者不吝指正。阅读本书时若有疑问,请发电子邮件到hzbook2017@163.com。对于同行专家和读者提出的问题笔者会一一核实,并在后续加印时改正这些错漏。
网站评分
书籍多样性:9分
书籍信息完全性:7分
网站更新速度:8分
使用便利性:6分
书籍清晰度:7分
书籍格式兼容性:6分
是否包含广告:4分
加载速度:3分
安全性:6分
稳定性:6分
搜索功能:6分
下载便捷性:6分
下载点评
- 藏书馆(621+)
- 体验还行(670+)
- 体验满分(561+)
- 无盗版(439+)
- 差评(348+)
- 愉快的找书体验(238+)
- 在线转格式(502+)
- 四星好评(619+)
- 引人入胜(126+)
- pdf(557+)
下载评价
- 网友 印***文: ( 2025-01-17 22:14:25 )
我很喜欢这种风格样式。
- 网友 屠***好: ( 2025-01-13 00:13:06 )
还行吧。
- 网友 后***之: ( 2025-01-06 07:36:58 )
强烈推荐!无论下载速度还是书籍内容都没话说 真的很良心!
- 网友 苍***如: ( 2025-01-01 15:48:42 )
什么格式都有的呀。
- 网友 谢***灵: ( 2025-01-08 04:44:31 )
推荐,啥格式都有
- 网友 方***旋: ( 2025-01-20 01:11:34 )
真的很好,里面很多小说都能搜到,但就是收费的太多了
- 网友 宓***莉: ( 2025-01-09 08:11:04 )
不仅速度快,而且内容无盗版痕迹。
- 网友 国***芳: ( 2024-12-22 15:45:12 )
五星好评
- 网友 郗***兰: ( 2024-12-27 18:00:37 )
网站体验不错
喜欢"Spring+Spring MVC+MyBatis整合开发实战"的人也看了
"胰"路有医 上海科学普及出版社 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
68所名校图书·2018春 小学数学口算达标天天练:五年级(下 北师大课标版) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
共产党宣言 英文版原版 [德] 卡尔·马克思 弗里德里希·恩格斯 著 经典英语文库入选书目 世界经典文学名著 英语原版无删减 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
物质的秘密:藏在微观粒子里的神奇世界【正版图书,满额减】 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
原来如此!奇特的病毒 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- KNOFF纽约城市地图KNOFF CITYMAP NEW YORK 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 儿童贴纸书8册宝宝酷车趣味贴画书幼儿全脑开发专注力训练贴纸书2-3岁亲子互动游戏贴贴画3-4-5-6岁汽车知识百科大全科普图画书籍正版 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 新时期煤炭行业发展方式变革动力与方向 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 小故事大智慧感动心灵的法文哲理故事 点亮心烛 柳玉刚 编译 中国宇航出版社【正版】 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 阿衰on line 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 计算机网络基础( 货号:711540359) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- Authorware7.0入门与提高 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 临床路径释义·妇产科分册 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 一代军师【放心购买】 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 童立方·莎士比亚戏剧故事集 第一辑(全10册)扫码听英文 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
书籍真实打分
故事情节:5分
人物塑造:4分
主题深度:8分
文字风格:7分
语言运用:7分
文笔流畅:8分
思想传递:6分
知识深度:6分
知识广度:9分
实用性:6分
章节划分:3分
结构布局:9分
新颖与独特:3分
情感共鸣:5分
引人入胜:6分
现实相关:8分
沉浸感:6分
事实准确性:7分
文化贡献:6分