Spring 3.x企业应用开发实战读书介绍
类别 | 页数 | 译者 | 网友评分 | 年代 | 出版社 |
---|---|---|---|---|---|
书籍 | 710页 | 8.3 | 2020 | 电子工业出版社 |
定价 | 出版日期 | 最近访问 | 访问指数 |
---|---|---|---|
90.00元 | 2020-02-20 … | 2020-05-25 … | 25 |
内容简介
Spring 3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。
Spring 3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架、REST风格的Web编程模型等。这些新功能实用性强、易用性高,可大幅降低Java应用,特别是Java Web应用开发的难度,同时有效提升应用开发的优雅性。
本书是在《精通Spring 2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练使用Spring的各项功能的同时,还能透彻理解Spring的内部实现,真正做到知其然知其所以然。此外,本书重点突出了“实战性”的主题,力求使全书“从实际项目中来,到实际项目中去”。
目录
第1篇 概述
第1章 Spring概述 2
1.1 认识Spring 3
1.2 关于SpringSource 4
1.3 Spring带给我们什么 5
1.4 Spring体系结构 6
1.5 Spring 3.0的新功能 8
1.5.1 核心API更新到Java 5.0 8
1.5.2 Spring表达式语言 8
1.5.3 可通过Java类提供IoC配置信息 9
1.5.4 通用类型转换系统和属性格式化
系统 10
1.5.5 数据访问层新增OXM功能 10
1.5.6 Web层的增强 10
1.5.7 其他 11
1.6 Spring对Java版本的要求 11
1.7 如何获取Spring 11
1.8 小结 12
第2章 快速入门 13
2.1 实例功能概述 14
2.1.1 比Hello World更适用的实例 14
2.1.2 实例功能简介 14
2.2 环境准备 16
2.2.1 创建库表 16
2.2.2 建立工程 17
2.2.3 类包及Spring配置文件规划 19
2.3 持久层 20
2.3.1 建立领域对象 20
2.3.2 UserDao 21
2.3.3 LoginLogDao 24
2.3.4 在Spring中装配DAO 24
2.4 业务层 26
2.4.1 UserService 26
2.4.2 在Spring中装配Service 27
2.4.3 单元测试 29
2.5 展现层 31
2.5.1 配置Spring MVC框架 31
2.5.2 处理登录请求 33
2.5.3 JSP视图页面 35
2.6 运行Web应用 37
2.7 小结 38
第2篇 IoC和AOP
第3章 IoC容器概述 40
3.1 IoC概述 41
3.1.1 通过实例理解IoC的概念 41
3.1.2 IoC的类型 43
3.1.3 通过容器完成依赖关系的注入 45
3.2 相关Java基础知识 46
3.2.1 简单实例 46
3.2.2 类装载器ClassLoader 48
3.2.3 Java反射机制 51
3.3 资源访问利器 53
3.3.1 资源抽象接口 53
3.3.2 资源加载 56
3.4 BeanFactory和ApplicationContext 58
3.4.1 BeanFactory介绍 58
3.4.2 ApplicationContext介绍 61
3.4.3 父子容器 68
3.5 Bean的生命周期 68
3.5.1 BeanFactory中Bean的生命周期 68
3.5.2 ApplicationContext中Bean的
生命周期 77
3.6 小结 79
第4章 在IoC容器中装配Bean 80
4.1 Spring配置概述 81
4.1.1 Spring容器高层视图 81
4.1.2 基于XML的配置 82
4.2 Bean基本配置 84
4.2.1 装配一个Bean 84
4.2.2 Bean的命名 85
4.3 依赖注入 86
4.3.1 属性注入 86
4.3.2 构造函数注入 89
4.3.3 工厂方法注入 93
4.3.4 选择注入方式的考量 94
4.4 注入参数详解 95
4.4.1 字面值 95
4.4.2 引用其他Bean 96
4.4.3 内部Bean 98
4.4.4 null值 98
4.4.5 级联属性 98
4.4.6 集合类型属性 99
4.4.7 简化配置方式 103
4.4.8 自动装配 106
4.5 方法注入 107
4.5.1 lookup方法注入 107
4.5.2 方法替换 108
4.6 <bean>之间的关系 109
4.6.1 继承 109
4.6.2 依赖 110
4.6.3 引用 111
4.7 整合多个配置文件 112
4.8 Bean作用域 113
4.8.1 singleton作用域 113
4.8.2 prototype作用域 114
4.8.3 Web应用环境相关的Bean
作用域 115
4.8.4 作用域依赖问题 117
4.9 FactoryBean 118
4.10 基于注解的配置 120
4.10.1 使用注解定义Bean 120
4.10.2 使用注解配置信息启动Spring
容器 120
4.10.3 自动装配Bean 122
4.10.4 Bean作用范围及生命过程方法 125
4.11 基于Java类的配置 127
4.11.1 使用Java类提供Bean定义
信息 127
4.11.2 使用基于Java类的配置信息
启动Spring容器 130
4.12 不同配置方式比较 132
4.13 小结 134
第5章 Spring容器高级主题 135
5.1 Spring容器技术内幕 136
5.1.1 内部工作机制 136
5.1.2 BeanDefinition 139
5.1.3 InstantiationStrategy 140
5.1.4 BeanWrapper 140
5.2 属性编辑器 141
5.2.1 JavaBean的编辑器 142
5.2.2 Spring默认属性编辑器 145
5.2.3 自定义属性编辑器 146
5.3 使用外部属性文件 149
5.3.1 使用外部属性文件 149
5.3.2 使用加密的属性文件 151
5.3.3 属性文件自身的引用 155
5.4 引用Bean的属性值 156
5.5 国际化信息 158
5.5.1 基础知识 158
5.5.2 MessageSource 163
5.5.3 容器级的国际化信息资源 166
5.6 容器事件 167
5.6.1 Spring事件类结构 168
5.6.2 解构Spring事件体系的具体
实现 169
5.6.3 一个实例 170
5.7 小结 172
第6章 Spring AOP基础 173
6.1 AOP概述 174
6.1.1 AOP到底是什么 174
6.1.2 AOP术语 176
6.1.3 AOP的实现者 178
6.2 基础知识 178
6.2.1 带有横切逻辑的实例 178
6.2.2 JDK动态代理 181
6.2.3 CGLib动态代理 184
6.2.4 AOP联盟 186
6.2.5 代理知识小结 186
6.3 创建增强类 187
6.3.1 增强类型 187
6.3.2 前置增强 188
6.3.3 后置增强 192
6.3.4 环绕增强 193
6.3.5 异常抛出增强 194
6.3.6 引介增强 196
6.4 创建切面 199
6.4.1 切点类型 200
6.4.2 切面类型 201
6.4.3 静态普通方法名匹配切面 203
6.4.4 静态正则表达式方法匹配切面 205
6.4.5 动态切面 208
6.4.6 流程切面 211
6.4.7 复合切点切面 213
6.4.8 引介切面 215
6.5 自动创建代理 216
6.5.1 实现类介绍 217
6.5.2 BeanNameAutoProxyCreator 217
6.5.3 DefaultAdvisorAutoProxyCreator 219
6.6 小结 220
第7章 基于@AspectJ和Schema的AOP 221
7.1 Spring对AOP的支持 222
7.2 JDK 5.0注解知识快速进阶 222
7.2.1 了解注解 222
7.2.2 一个简单的注解类 223
7.2.3 使用注解 224
7.2.4 访问注解 225
7.3 着手使用@AspectJ 226
7.3.1 使用前的准备 226
7.3.2 一个简单的例子 227
7.3.3 如何通过配置使用@AspectJ
切面 229
7.4 @AspectJ语法基础 230
7.4.1 切点表达式函数 230
7.4.2 在函数入参中使用通配符 231
7.4.3 逻辑运算符 232
7.4.4 不同增强类型 232
7.4.5 引介增强用法 233
7.5 切点函数详解 235
7.5.1 @annotation() 235
7.5.2 execution() 237
7.5.3 args()和@args() 238
7.5.4 within() 240
7.5.5 @within()和@target() 240
7.5.6 target()的this() 241
7.6 @AspectJ进阶 243
7.6.1 切点复合运算 243
7.6.2 命名切点 244
7.6.3 增强织入的顺序 245
7.6.4 访问连接点信息 246
7.6.5 绑定连接点方法入参 247
7.6.6 绑定代理对象 249
7.6.7 绑定类注解对象 249
7.6.8 绑定返回值 250
7.6.9 绑定抛出的异常 251
7.7 基于Schema配置切面 252
7.7.1 一个简单切面的配置 252
7.7.2 配置命名切点 253
7.7.3 各种增强类型的配置 255
7.7.4 绑定连接点信息 257
7.7.5 Advisor配置 258
7.8 混合切面类型 259
7.8.1 混合使用各种切面类型 260
7.8.2 各种切面类型总结 261
7.9 JVM Class文件字节码转换基础
知识 261
7.9.1 java.lang.instrument包的工作
原理 262
7.9.2 如何向JVM中注册转换器 263
7.9.3 使用JVM启动参数注册
转换器的问题 265
7.10 使用LTW织入切面 265
7.10.1 Spring的LoadTimeWeaver 266
7.10.2 使用LTW织入一个切面 268
7.10.3 在Tomcat下的配置 270
7.10.4 在其他Web应用服务器下的
配置 271
7.11 小结 271
第3篇 数据访问
第8章 Spring对DAO的支持 274
8.1 Spring的DAO理念 275
8.2 统一的异常体系 275
8.2.1 Spring的DAO异常体系 276
8.2.2 JDBC的异常转换器 278
8.2.3 其他持久技术的异常转换器 278
8.3 统一数据访问模板 279
8.3.1 使用模板和回调机制 279
8.3.2 Spring为不同持久化技术所
提供的模板类 281
8.4 数据源 282
8.4.1 配置一个数据源 282
8.4.2 获取JNDI数据源 287
8.4.3 Spring的数据源实现类 287
8.5 小结 288
第9章 Spring的事务管理 289
9.1 数据库事务基础知识 290
9.1.1 何为数据库事务 290
9.1.2 数据并发的问题 291
9.1.3 数据库锁机制 293
9.1.4 事务隔离级别 294
9.1.5 JDBC对事务支持 294
9.2 ThreadLocal基础知识 296
9.2.1 ThreadLocal是什么 296
9.2.2 ThreadLocal的接口方法 297
9.2.3 一个TheadLocal实例 298
9.2.4 与Thread同步机制的比较 299
9.2.5 Spring使用ThreadLocal解决
线程安全问题 300
9.3 Spring对事务管理的支持 301
9.3.1 事务管理关键抽象 302
9.3.2 Spring的事务管理器实现类 305
9.3.3 事务同步管理器 307
9.3.4 事务传播行为 309
9.4 编程式的事务管理 309
9.5 使用XML配置声明式事务 310
9.5.1 一个将被实施事务增强的
服务接口 312
9.5.2 使用原始的
TransactionProxyFactoryBean 313
9.5.3 基于tx/aop命名空间的配置 315
9.6 使用注解配置声明式事务 318
9.6.1 使用@Transactional注解 318
9.6.2 通过AspectJ LTW引入事务
切面 322
9.7 集成特定的应用服务器 323
9.7.1 BEA WebLogic 324
9.7.2 BEA WebLogic 324
9.8 小结 324
第10章 Spring的事务管理难点剖析 325
10.1 DAO和事务管理的牵绊 326
10.1.1 JDBC访问数据库 326
10.1.2 Hibernate访问数据库 328
10.2 应用分层的迷惑 330
10.3 事务方法嵌套调用的迷茫 334
10.3.1 Spring事务传播机制回顾 334
10.3.2 相互嵌套的服务方法 335
10.4 多线程的困惑 338
10.4.1 Spring通过单实例化Bean
简化多线程问题 338
10.4.2 启动独立线程调用事务方法 338
10.5 联合军种作战的混乱 340
10.5.1 Spring事务管理器的应对 340
10.5.2 Hibernate+Spring JDBC
混合框架的事务管理 341
10.6 特殊方法成漏网之鱼 345
10.6.1 哪些方法不能实施Spring AOP
事务 345
10.6.2 事务增强遗漏实例 345
10.7 数据连接泄漏 349
10.7.1 底层连接资源的访问问题 349
10.7.2 Spring JDBC数据连接泄漏 350
10.7.3 通过DataSourceUtils获取
数据连接 353
10.7.4 通过DataSourceUtils获取
数据连接 355
10.7.5 JdbcTemplate如何做到对连接
泄漏的免疫 357
10.7.6 使用TransactionAwareData
SourceProxy 357
10.7
剧情呢,免费看分享剧情、挑选影视作品、精选好书简介分享。