《Spring 3.0就这么简单》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:陈雄华,林开雄编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115298393
  • 页数:380 页
图书介绍:本书内容包括Spring 概述、Spring 快速入门、Spring IOC、Spring AOP、Spring JDBC、集成Hibernate、Spring事务管理、Spring MVC、Spring单元测试、实训案例、敏捷开发。

第1章 快速入门 1

1.1 Spring概述 1

1.1.1 认识Spring 1

1.1.2 Spring带给我们什么 2

1.1.3 Spring体系结构 3

1.2 实例功能概述 5

1.2.1 比Hello World更适用的实例 5

1.2.2 实例功能简介 5

1.3 环境准备 7

1.3.1 创建库表 7

1.3.2 建立工程 8

1.3.3 类包及Spring配置文件规划 12

1.4 持久层 13

1.4.1 建立领域对象 13

1.4.2 UserDao 14

1.4.3 LoginLogDao 17

1.4.4 在Spring中装配DAO 17

1.5 业务层 19

1.5.1 UserService 19

1.5.2 在Spring中装配Service 20

1.5.3 单元测试 21

1.6 展现层 23

1.6.1 配置Spring MVC框架 23

1.6.2 处理登录请求 25

1.6.3 JSP视图页面 28

1.7 运行Web应用 29

1.8 小结 30

第2章 Spring IoC容器 31

2.1 IoC概述 32

2.2 BeanFactory和ApplicationContext 32

2.2.1 BeanFactory介绍 32

2.2.2 ApplicationContext介绍 33

2.2.3 资源加载 38

2.3 Bean装配 39

2.3.1 Bean基本配置 40

2.3.2 依赖注入 42

2.3.3 注入参数详解 47

2.3.4 Bean作用域 53

2.3.5 基于注解的配置 54

2.3.6 基于Java类的配置 59

2.3.7 不同配置方式比较 64

2.4 小结 65

第3章 Spring AOP 66

3.1 AOP概述 66

3.1.1 AOP到底是什么 67

3.1.2 AOP术语 68

3.2 创建增强类 70

3.2.1 增强类型 70

3.2.2 前置增强 71

3.2.3 后置增强 74

3.2.4 环绕增强 75

3.2.5 异常抛出增强 76

3.3 创建切面 78

3.3.1 切点类型 79

3.3.2 切面类型 80

3.3.3 静态普通方法名匹配切面 80

3.3.4 静态正则表达式方法匹配切面 82

3.4 自动创建代理 85

3.4.1 实现类介绍 85

3.4.2 BeanNameAuto ProxyCreator 86

3.4.3 DefaultAdvisorAuto ProxyCreator 87

3.5 基于@AspectJ配置切面 88

3.5.1 @AspectJ语法基础 88

3.5.2 使用前的准备 90

3.5.3 一个简单的例子 91

3.5.4 如何通过配置使用@AspectJ切面 93

3.5.5 不同增强类型 93

3.6 基于Schema配置切面 95

3.6.1 一个简单切面的配置 95

3.6.2 配置命名切点 96

3.6.3 各种增强类型的配置 97

3.6.4 绑定连接点信息 99

3.6.5 Advisor配置 100

3.7 各种切面类型总结 101

3.8 小结 102

第4章 使用Spring JDBC访问数据库 103

4.1 使用Spring JDBC 103

4.1.1 JdbcTemplate小试牛刀 104

4.1.2 在DAO中使用JdbcTemplate 104

4.2 基本的数据操作 106

4.2.1 更改数据 106

4.2.2 返回数据库的表自增主键值 108

4.2.3 批量更改数据 110

4.2.4 查询数据 111

4.2.5 查询单值数据 114

4.2.6 调用存储过程 116

4.3 BLOB/CLOB类型数据的操作 118

4.3.1 插入Lob类型的数据 118

4.3.2 以块数据方式读取Lob数据 120

4.3.3 以流数据方式读取Lob数据 120

4.4 其他类型的JdbcTemplate 121

4.4.1 NamedParameterJdbcTemplate 121

4.4.2 SimpleJdbcTemplate 123

4.5 以OO方式访问数据库 123

4.5.1 使用MappingSqlQuery查询数据 123

4.5.2 使用SqlUpdate更新数据 125

4.5.3 使用StoredProcedure执行存储过程 126

4.5.4 SqlFunction类 127

4.7 小结 128

第5章 集成Hibernate 129

5.1 Spring整合ORM技术 129

5.2 在Spring中使用Hibernate 131

5.2.1 配置SessionFactory 131

5.2.2 使用HibernateTemplate 134

5.2.3 处理LOB类型数据 137

5.2.4 添加Hibernate事件监听器 138

5.2.5 使用原生Hibernate API 139

5.2.6 使用注解配置 140

5.2.7 事务处理 141

5.2.8 延迟加载的问题 142

5.3 DAO层设计 143

5.3.1 DAO基类的设计 143

5.3.2 查询接口方法的设计 145

5.3.3 分页查询接口设计 147

5.4 小结 148

第6章 Spring的事务管理 149

6.1 数据库事务基础知识 149

6.1.1 何为数据库事务 149

6.1.2 JDBC对事务支持 150

6.2 Spring对事务管理的支持 152

6.2.1 事务管理关键抽象 152

6.2.2 Spring的事务管理器实现类 155

6.2.3 事务同步管理器 157

6.2.4 事务传播行为 158

6.3 编程式的事务管理 159

6.4 使用XML配置声明式事务 160

6.4.1 一个将被实施事务增强的服务接口 161

6.4.2 使用原始的TransactionProxyFactoryBean 162

6.4.3 基于tx/aop命名空间的配置 165

6.5 使用注解配置声明式事务 167

6.5.1 使用@Transactional注解 167

6.5.2 通过AspectJ LTW引入事务切面 172

6.6 小结 173

第7章 Spring MVC 174

7.1 Spring MVC概述 174

7.1.1 体系结构 175

7.1.2 配置DispatcherServlet 176

7.2 注解驱动的控制器 178

7.2.1 使用@RequestMapping映射请求 178

7.2.2 请求处理方法签名概述 182

7.2.3 处理方法签名详细说明 183

7.2.4 处理模型数据 186

7.3 数据校验 191

7.3.1 Spring校验框架 191

7.3.2 Spring MVC数据校验 192

7.3.3 如何获取校验结果 193

7.3.4 如何在页面中显示错误 194

7.3.5 通过国际化资源显示错误信息 196

7.4 视图和视图解析器 197

7.4.1 认识视图 198

7.4.2 认识视图解析器 199

7.4.3 JSP和JSTL 200

7.4.4 模板视图 204

7.4.5 输出XML 208

7.4.6 输出JSON 208

7.4.7 使用XmlViewResolver 209

7.4.8 使用ResourceBundleViewResolver 209

7.4.9 混合使用多种视图技术 210

7.5 本地化解析 213

7.5.1 本地化概述 213

7.5.2 使用CookieLocaleResolver 213

7.5.3 使用SessionLocale Resolver 214

7.5.4 使用LocaleChangeInterceptor 214

7.6 文件上传 215

7.6.1 配置MultipartResolver 215

7.6.2 编写控制器和文件上传表单页面 215

7.7 小结 216

第8章 单元测试 217

8.1 单元测试概述 217

8.1.1 为什么需要单元测试 218

8.1.2 单元测试基本概念 219

8.2 TestNG快速进阶 221

8.2.1 TestNG概述 221

8.2.2 TestNG生命周期 221

8.2.3 使用TestNG 222

8.3 模拟利器Mockito 226

8.3.1 模拟测试概述 226

8.3.2 创建Mock对象 227

8.3.3 设定Mock对象的期望行为及返回值 228

8.3.4 验证交互行为 229

8.4 测试整合之王Unitils 230

8.4.1 Unitils概述 230

8.4.2 集成Spring 232

8.4.3 集成DbUnit 234

8.5 使用Unitils测试DAO层 234

8.5.1 Unitils配置 237

8.5.2 准备测试数据 238

8.5.3 编写测试用例 240

8.7 使用Unitils测试Service层 242

8.8 测试Web层 246

8.8.1 对LoginController进行单元测试 247

8.8.2 使用Spring ServletAPI模拟对象 248

8.8.3 使用Spring RestTemplate测试 249

8.9 小结 251

第9章 敏捷开发技术 253

9.1 敏捷开发概述 253

9.1.1 敏捷开发原则 254

9.1.2 敏捷开发过程 255

9.2 敏捷开发方法Scrum 258

9.3 测试驱动开发(TDD)实例 260

9.4 版本管理工具GIT 267

9.4.1 版本控制意义 267

9.4.2 SVN 267

9.4.3 GIT 268

9.5 代码构建利器Maven 270

9.5.1 Maven概述 270

9.5.2 Maven入门 273

9.5.3 Maven实例 274

9.6 持续集成Hudson 278

9.7 小结 279

第10章 自己动手打造服务平台框架 280

10.1 服务平台概述 281

10.1.1 SOA实现技术 281

10.1.2 Web Service技术框架 282

10.1.3 技术框架的局限 282

10.1.4 TOP介绍 283

10.2 快速了解ROP 283

10.2.1 ROP概述 283

10.2.2 使用ROP开发一个服务 285

10.3 请求服务模型 291

10.3.1 传统Web Service请求模型 291

10.3.2 ROP请求模型 292

10.3.3 参数数据绑定与校验 294

10.3.4 XML和JSON参数绑定 296

10.3.5 自定义数据转换器 299

10.3.6 请求服务映射 301

10.4 应用授权及验证 303

10.4.1 应用键/应用密钥 303

10.4.2 应用键/密钥管理器 304

10.4.3 签名算法 304

10.4.4 签名功能控制 305

10.5 服务会话管理 307

10.5.1 会话管理概述 307

10.5.2 注册会话管理器 307

10.5.3 开发登录和退出服务 308

10.6 错误模型 309

10.6.1 错误模型概述 309

10.6.2 系统级主错误编码 310

10.6.3 系统级子错误编码 310

10.6.4 业务级子错误编码 313

10.7 响应报文控制 315

10.7.1 分体式报文模型 315

10.7.2 响应报文定义 315

10.7.3 报文输出格式 316

10.7.4 报文的国际化支持 316

10.8 文件上传 317

10.8.1 ROP文件上传解决思路 317

10.8.2 文件上传实例 319

10.8.3 文件上传控制 320

10.9 服务安全控制 320

10.9.1 安全控制架构 320

10.9.2 ServiceAccess Controller 321

10.9.3 InvokeTimes Controller 323

10.10 拦截器及事件体系 324

10.10.1 拦截器 324

10.10.2 事件及监听 326

10.11 性能调优 327

10.11.1 服务平台线程池参数调整 328

10.11.2 限制服务的占用时长 328

10.11.3 限制应用/用户的访问 328

10.12 开发客户端SDK 329

10.12.1 ROP提供了哪些支持 329

10.12.2 服务开放平台的SDK包 332

10.13 小结 333

第11章 实战案例开发 334

11.1 景区网站案例概述 334

11.1.1 景区网站整体功能结构 334

11.1.2 景区网站用例描述 335

11.1.3 主要功能流程描述 336

11.2 系统设计 338

11.2.1 技术框架选择 338

11.2.2 Web目录结构及类包结构规划 338

11.2.3 单元测试类包结构规划 339

11.2.4 系统的页面交互流程设计 340

11.2.5 PO类设计 340

11.2.6 持久层设计 341

11.2.7 服务层设计 342

11.2.8 Web层设计 342

11.2.9 数据库设计 343

11.3 开发前的准备 345

11.4 持久层开发 345

11.4.1 PO类 345

11.4.2 DAO基类 349

11.4.3 通过扩展基类定义DAO类 350

11.4.4 DAO Bean的装配 351

11.4.5 使用Hibernate二级缓存 353

11.5 对持久层进行测试 355

11.5.1 配置Unitils测试环境 355

11.5.2 准备测试数据库及测试数据 356

11.5.3 编写DAO测试基类 356

11.5.4 编写ViewSpaceDao测试用例 357

11.6 服务层开发 359

11.6.1 ViewSpaceService的开发 359

11.6.2 服务类Bean的装配 361

11.7 对服务层进行测试 363

11.7.1 编写Service测试基类 363

11.7.2 编写ViewSpaceService测试用例 363

11.8 Web层开发 365

11.8.1 BaseController的基类 365

11.8.2 景区网站首页 367

11.8.3 景区查询 370

11.8.4 景区详细信息的页面 371

11.8.5 web.xml配置 373

11.8.6 Spring MVC配置 375

11.9 对Web层进行测试 376

11.9.1 编写Web测试基类 376

11.9.2 编写ViewManage ControllerTest测试用例 377

11.10 部署和运行应用 379

11.11 小结 380