王朝百科
分享
 
 
 

精通Spring

王朝百科·作者佚名  2010-05-16  
宽屏版  字体: |||超大  

精通Spring

精通Spring——深入Java EE开发核心技术

丛书名:JAVA开发专家

作者: 罗时飞 编著

出 版 社:电子工业出版社

出版时间: 2008-10-1

页数: 521

开本: 16开

I S B N : 9787121072987

分类: 图书 >> 计算机/网络 >> 程序设计 >> Java Java Script J2EE

定价:¥59.00

编辑推荐专业人士,权威经典。

Spring 2.5是迄今为止完美的Java EE架构级框架,全面深入、多维度演绎Spring 2.5的各个方面,本书蕴含作者多年Java EE研发实践及经验。

凝聚Java魅力,成就开发专家

看清Java万花的本质,从复杂的表象中寻找普遍的规律,深刻理解Java的核心思想。

关于Spring2.5的权威教程,是Java/Java EE开发者、架构师必备的参考书

对JavaEE5及Spring2.5进行了综述。包括Java EE5,步入Spring2.5,获得Spring2.5发布版和源码。启动Spring2.5使能项目

详细介绍Spring2.5核心技术。包括控制反转容器,面向切面编程

对DA0层集成技术进行了详细阐述。包括DA0抽象支持。JDBC集成,事务集成,单元和集成测试。Hibernate集成,Java持久化API集成

深入讲解Java EE服务及技术集成。包括JNDI集成,EJB3.0集成.线程池和任务调度集成。Java消息服务集成,Java Mail集成,远程服务集成。Java管理扩展集成,Java EE连接器架构集成

专注于Spring2.5高级特性的研究。包括忘却的Spring高级话题,Spring最佳实践

对Spring2.5内置的各种XML Schema支持进行了全方位阐述。包括基于XML Schema的权威配置指南

全书理论与实践并重,通过大量的实例帮助读者尽快掌握Spring2,5的各种基本和高级使用技巧,从而提高本书的参考和阅读价值

内容简介本书是关于Spring 2.5的权威教程,是Java/Java EE开发者必备的参考书。本书详尽、系统地介绍了Java EE的基础知识、Spring 2.5的各种功能,以及Spring 2.5的高级使用技巧和最佳实践。全书共分为5篇:第1篇为综述,主要围绕Java EE 5、Spring展开;第2篇介绍Spring 2.5核心技术,主要围绕Spring元框架进行阐述;第3篇介绍DAO层集成技术,主要围绕JDBC、Hibernate和JPA等持久化技术展开论述,针对Spring使能应用的事务管理和集成测试,也进行了相关介绍;第4篇介绍Java EE服务及技术的集成,主要围绕企业应用中使用的各种Java EE服务及技术展开论述;第5篇介绍Spring 2.5高级特性,主要从忘却的Spring高级话题和Spring最佳实践角度给出论述;附录A完整地介绍了Spring 2.5支持的各种命名空间及其中的所有元素。全书理论与实践并重,通过大量的实例帮助读者尽快掌握Spring 2.5的使用技巧,从而提高本书的参考、阅读价值。

本书适合作为Java/Java EE开发者、系统分析师和架构师的参考书,同时,本书非常适合于高校相关专业的学生,以及对Java/Java EE开发有兴趣的各类开发者。

作者简介罗时飞,独立Java EE顾问。西安交通大学硕士。将近10年的Java EE开发、架构经验,理论与实践并重。对Java EE平台、敏捷方法及开源技术有深入研究。出版图书多本,曾被评为电子工业出版社的“优秀作译者”。他一直在依托网站专职从事企业级Java的推广工作。

其近期代表作品有:

《敏捷持续集成(Cruise Control版)——高效研发之道》、《敏捷Acegi、CAS——构建安全的Java系统》、《精通EJB3.O》(译)、《精通Spring 2.0》。

目录第1篇 综述

第1章 Java EE 5

1.1 Java EE 5引入的新特性

1.2 进入EJB 3.0时代

1.3 Java EE开发模型的局限性

1.4 小结

第2章 步入Spring 2.5

2.1 挑战Java EE 5开发模型

2.1.1 轻量级开发模型

2.1.2 倡导敏捷开发

2.1.3 Spring 2.5的架构价值

2.2 有所为和有所不为

2.2.1 Spring 2.5提供的功能

2.2.2 排除在外

2.3 Spring 2.5时代的到来

2.4 小结

第3章 获得Spring 2.5发布版和源码

3.1 获得Spring 2.5持续发布版

3.2 获得持续更新的Spring 2.5项目源码

3.3 小结

第4章 启动Spring 2.5使能项目

4.1 开发平台的搭建

4.1.1 JDK的安装及设置

4.1.2 选用Eclipse IDE和WTP

4.1.3 借助插件调试Web应用

4.1.4 获取及安装Spring IDE

4.2 Spring IDE的使用

4.3 小结

第2篇 Spring 2.5核心技术

第5章 控制反转容器

5.1 有关DI容器的背景知识

5.2 BeanFactory和ApplicationContext

5.3 宿主DI容器配置元数据的不同方式

5.3.1 基于XML的DI容器配置元数据

5.3.2 基于注解的DI容器配置元数据

5.4 基于泛型访问DI容器

5.5 支持的不同依赖注入类型

5.5.1 设值注入

5.5.2 构建器注入

5.5.3 属性注入

5.5.4 方法注入

5.6 Autowiring策略

5.6.1 autowire属性

5.6.2 元素的dependency-check属性

5.6.3 @Required注解

5.6.4 @Autowired注解

5.6.5 细粒度控制Autowiring策略

5.6.6 借用元素

5.7 善待depends-on属性

5.8 抽象和子Bean定义

5.9 别名(Alias)

5.10 外在化应用参数的配置

5.10.1 元素

5.10.2 元素

5.11 受管Bean的作用范围

5.11.1 单例和原型

5.11.2 仅仅适合于Web环境的三种作用范围

5.12 在Web应用中使用DI容器

5.12.1 往Web应用中加载DI容器

5.12.2 复合多个配置文件

5.12.3 于Web应用中操控DI容器

5.12.4 国际化和本地化消息资源

5.13 探索命名空间

5.13.1 元素

5.13.2 元素

5.13.3 元素

5.13.4 元素

5.13.5 元素

5.13.6 元素

5.14 使用

命名空间

5.15 操控资源

5.15.1 内置的Resource继承链

5.15.2 借助DI容器访问各种资源

5.15.3 妙用classpath*前缀

5.16 回调接口集合及其触发顺序

5.16.1 BeanNameAware回调接口

5.16.2 BeanClassLoaderAware回调接口

5.16.3 BeanFactoryAware回调接口

5.16.4 ResourceLoaderAware回调接口

5.16.5 ApplicationEventPublisherAware回调接口

5.16.6 MessageSourceAware回调接口

5.16.7 ApplicationContextAware回调接口

5.16.8 @PostConstruct注解

5.16.9 InitializingBean回调接口

5.16.10 元素的init-method属性

5.16.11 @PreDestroy注解

5.16.12 DisposableBean回调接口

5.16.13 元素的destroy-method属性

5.17 小结

第6章 面向切面编程

6.1 AOP背景知识

6.2 AspectJ 6介绍

6.2.1 AspectJ的安装及使用

6.2.2 Before装备

6.2.3 AfterReturning装备

6.2.4 AfterThrowing装备

6.2.5 After装备

6.2.6 Around装备

6.2.7 引入(Introduction)

6.3 Spring AOP的基本概念

6.4 Spring AOP的老式用法

6.4.1 Before装备

6.4.2 基于ProxyFactoryBean的手工代理

6.4.3 AfterReturning装备

6.4.4 AfterThrowing装备

6.4.5 Around装备

6.4.6 Introduction引入

6.4.7 使用自动代理特性

6.4.8 切换代理机制

6.4.9 基于ProxyFactory的编程代理

6.5 基于@AspectJ的Spring AOP

6.5.1 声明切面、pointcut和装备

6.5.2 各种装备的使用

6.5.3 切换代理机制

6.5.4 控制各装备的触发顺序

6.5.5 pointcut表达语言

6.6 基于元素的AOP

6.6.1 声明切面、pointcut和装备

6.6.2 各种装备的使用

6.6.3 元素

6.6.4 切换代理机制

6.7 借用AspectJ 6进行领域对象的DI操作

6.7.1 直接使用AnnotationBean-ConfigurerAspect切面

6.7.2 @Configurable注解

6.7.3 借助aop.xml控制启用的特定切面

6.7.4 元素

6.7.5 元素

6.7.6 借用元素

6.8 小结

第3篇 DAO层集成技术

第7章 DAO抽象支持

7.1 背景

7.2 DAO集成支持

7.2.1 DataAccessException异常体系

7.2.2 DaoSupport继承链

7.2.3 DataAccessUtils实用类

7.3 小结

第8章 JDBC集成

8.1 背景知识及示例

8.2 Spring对JDBC提供的支持

8.3 运行JDBC版PetClinic实例

8.4 JdbcTemplate及相应的支持类

8.4.1 JdbcTemplate核心类

8.4.2 JdbcDaoSupport支持类

8.5 NamedParameterJdbcTemplate及相应的支持类

8.5.1 NamedParameterJdbcTemplate模板类

8.5.2 NamedParameterJdbcDao-Support支持类

8.6 SimpleJdbcTemplate及相应的支持类

8.6.1 SimpleJdbcTemplate模板类

8.6.2 SimpleJdbcDaoSupport支持类

8.6.3 SimpleJdbcInsert辅助类

8.6.4 基于JDBC的PetClinic综合示例分析

8.7 内置的DataSource继承链

8.7.1 用于测试目的的DriverManagerDataSource

8.7.2 用于测试目的的SimpleDriverDataSource

8.7.3 用于测试目的的Single-ConnectionDataSource

8.7.4 Apache DBCP数据源

8.7.5 Java EE容器内置的数据源

8.7.6 LazyConnectionDataSource-Proxy数据源

8.7.7 TransactionAwareDataSource-Proxy数据源

8.7.8 UserCredentialsDataSource-Adapter数据源

8.7.9 IsolationLevelDataSource-Adapter数据源

8.7.10 WebSphereDataSource-Adapter数据源

8.7.11 IsolationLevelDataSource-Router数据源

8.8 将JDBC操作建模成Java对象

8.8.1 SqlUpdate辅助类

8.8.2 UpdatableSqlQuery辅助类

8.8.3 MappingSqlQuery辅助类

8.8.4 SqlFunction辅助类

8.9 与存储过程交互

8.9.1 JdbcTemplate针对存储过程提供的支持

8.9.2 StoredProcedure辅助类

8.9.3 SimpleJdbcCall辅助类

8.10 处理大批量数据

8.10.1 JdbcTemplate内置的batchUpdate()方法

8.10.2 SimpleJdbcTemplate内置的batchUpdate()方法

8.10.3 BatchSqlUpdate辅助类

8.11 基于JDBC的LOB集成支持

8.11.1 运行及分析imagedb示例应用

8.11.2 NativeJdbcExtractor继承链

8.11.3 操作LOB字段

8.12 如何获得和生成主键

8.12.1 KeyHolder及GeneratedKey-Holder实现者

8.12.2 DataFieldMaxValue-Incrementer继承链

8.13 对行集的支持

8.13.1 JdbcTemplate内置的queryForRowSet()方法集合

8.13.2 NamedParameterJdbcTemplate内置的queryForRowSet()方法集合

8.14 JDBC最佳实践

8.15 小结

第9章 事务集成

9.1 背景知识及示例

9.2 Spring对事务提供的支持

9.3 Spring眼中的事务管理策略

9.3.1 事务定义

9.3.2 各种PlatformTransaction-Manager实现

9.4 编程式事务

9.4.1 TransactionTemplate及相关回调接口

9.4.2 使用@Transactional注解和元素

9.4.3 拥抱EJB 3.0引入的@TransactionAttribute注解

9.5 声明式事务

9.5.1 TransactionProxyFactoryBean辅助类

9.5.2 元素

9.6 在AspectJ 6应用中使用@Transactional

9.6.1 直接使用Annotation-TransactionAspect切面

9.6.2 借用元素

9.6.3 借用元素

9.7 事务集成高级特性

9.7.1 Java EE应用服务器的事务集成

9.7.2 元素

9.7.3 选择合适的事务策略

9.8 小结

第10章 单元和集成测试

10.1 背景知识及示例

10.2 Spring对集成测试的支持

10.2.1 ReflectionTestUtils实用类

10.2.2 运行PetClinic中的集成测试类

10.3 遗留JUnit 3.8集成测试支持

10.3.1 AbstractSingleSpringContext-Tests支持类

10.3.2 AbstractDependencyInjection-SpringContextTests支持类

10.3.3 AbstractTransactionalSpring-ContextTests支持类

10.3.4 AbstractTransactionalData-SourceSpringContextTests支持类

10.3.5 AbstractAnnotationAware-TransactionalTests支持类

10.4 新引入的TestContext集成测试框架

10.4.1 面向开发者的支持类

10.4.2 AbstractJUnit38Spring-ContextTests支持类

10.4.3 AbstractTransactionalJUnit38-SpringContextTests支持类

10.4.4 AbstractJUnit4Spring-ContextTests支持类

10.4.5 AbstractTransactionalJUnit4-SpringContextTests支持类

10.5 集成测试最佳实践

10.6 小结

第11章 Hibernate集成

11.1 背景知识及示例

11.2 Hibernate Tools介绍

11.2.1 Ant支持

11.2.2 Eclipse支持

11.3 Spring对Hibernate提供的支持

11.4 运行Hibernate版PetClinic实例

11.5 基于Hibernate集成的CRUD操作

11.5.1 HibernateTemplate模板类

11.5.2 HibernateCallback回调接口

11.5.3 关于SessionFactory.getCurrentSession()方法的使用

11.6 LocalSessionFactoryBean

11.7 AnnotationSession-FactoryBean

11.8 事务管理支持

11.9 基于Hibernate的LOB处理

11.10 为imagedb示例启用JTA事务

11.11 集成测试支持

11.11.1 分析Hibernate版PetClinic实例的集成测试工作

11.11.2 混合使用JDBC和Hibernate

11.12 小结

第12章 Java持久化API集成

12.1 背景知识及示例

12.2 Spring对JPA提供的支持

12.3 基于JPA集成的CRUD操作

12.3.1 JpaTemplate模板类

12.3.2 JpaCallbck回调接口

12.3.3 @PersistenceContext注解

12.4 AbstractEntityManager-FactoryBean继承链

12.4.1 LocalEntityManager-FactoryBean辅助类

12.4.2 LocalContainerEntity-ManagerFactoryBean辅助类

12.4.3 DataSourceLookup继承链

12.5 事务管理支持

12.6 装载期织入(LTW)

12.6.1 ReflectiveLoadTimeWeaver实现类

12.6.2 InstrumentationLoad-TimeWeaver实现类

12.6.3 LoadTimeWeaver继承链在JPA集成中的应用

12.7 SharedEntityManagerBean

12.8 集成测试支持

12.8.1 AbstractJpaTests支持类

12.8.2 AbstractAspectjJpaTests支持类

12.8.3 混合使用JDBC和JPA

12.9 小结

第4篇 集成Java EE服务及技术

第13章 JNDI集成

13.1 背景知识及示例

13.2 Spring对JNDI提供的支持

13.3 JndiObjectFactoryBean

13.4 元素

13.5 JndiTemplate和JndiCallback的使用

13.6 小结

第14章 EJB 3.0集成

14.1 背景知识及示例

14.2 Spring对开发EJB 3.0组件提供的支持

14.3 Spring对访问EJB 3.0组件提供的支持

14.3.1 借助JndiObjectFactory-Bean辅助类

14.3.2 org.springframework.ejb.access包

14.3.3 元素和元素

14.4 关于遗留EJB 2.x支持

14.5 小结

第15章 线程池和任务调度集成

15.1 Spring提供的线程池支持

15.1.1 SyncTaskExecutor执行器

15.1.2 SimpleAsyncTaskExecutor执行器

15.1.3 ThreadPoolTaskExecutor和ConcurrentTaskExecutor执行器

15.1.4 TimerTaskExecutor执行器

15.1.5 SimpleThreadPool-TaskExecutor执行器

15.1.6 commonj.WorkManager-TaskExecutor执行器

15.1.7 jca.work.WorkManager-TaskExecutor继承链

15.2 Spring提供的任务调度支持

15.2.1 针对java.util.Timer的任务调度支持

15.2.2 针对Quartz的任务调度支持

15.2.3 针对java.util.concurrent的任务调度支持

15.2.4 针对CommonJ的任务调度支持

15.3 小结

第16章 Java消息服务集成

16.1 背景知识及示例

16.2 Spring对JMS消息提供的支持

16.3 借助JmsTemplate发送JMS消息

16.4 同步和异步消费JMS消息

16.4.1 借助JmsTemplate同步接收JMS消息

16.4.2 AbstractMessageListener-Container容器

16.4.3 元素

16.5 JMS事务管理

16.6 小结

第17章 JavaMail集成

17.1 背景知识及示例

17.2 Spring对JavaMail提供的支持

17.3 发送简单邮件

17.4 发送含有附件的邮件

17.5 发送含有HTML和内嵌资源的邮件

17.6 小结

第18章 远程服务集成

18.1 远程服务背景知识及示例

18.2 Spring对远程服务提供的支持

18.3 RMI/RMI-IIOP集成

18.4 Hessian和Burlap集成

18.4.1 DispatcherServlet和HttpRequestHandlerServlet辅助类

18.4.2 宿主在Sun JDK 6.0内置的HTTP服务器中

18.5 HTTP Invoker支持

18.6 Web服务集成

18.6.1 JAX-RPC集成

18.6.2 JAX-WS集成

18.7 基于JMS的远程服务

18.8 小结

第19章 Java管理扩展集成

19.1 背景知识及示例

19.2 Spring对JMX提供的支持

19.3 自动注册MBean组件

19.3.1 关于MBeanExporter的autodetectMode和registrationBehavior属性

19.3.2 Hibernate暴露的StatisticsService MBean

19.4 将POJO导出成MBean组件

19.5 控制MBean组件的管理接口

19.5.1 AbstractConfigurable-MBeanInfoAssembler继承链

19.5.2 基于注解的Metadata-MBeanInfoAssembler

19.5.3 和元素

19.5.4 面向异步处理的Lifecycle接口

19.6 控制MBean组件的ObjectName

19.6.1 KeyNamingStrategy实现类

19.6.2 IdentityNamingStrategy实现类

19.6.3 MetadataNamingStrategy实现类

19.7 发送与接收JMX通知

19.8 通过应用访问MBean组件

19.9 小结

第20章 Java EE连接器架构集成

20.1 背景知识及示例

20.2 Spring对JCA提供的支持

20.3 CciTemplate及相关回调接口

20.4 将JCA操作建模成Java对象

20.5 事务管理

20.6 宿主在JCA适配器中的DI容器

20.6.1 将SpringContextResource-Adapter部署到RAR中

20.6.2 ResourceAdapterFactory-Bean辅助类

20.7 小结

第5篇 Spring 2.5高级特性

第21章 忘却的Spring高级话题

21.1 分发和监听事件

21.2 AOP拦截器链

21.3 DataSourceUtils、Session-FactoryUtils、EntityManager-FactoryUtils

21.4 Web层集成支持

21.5 元素

21.6 如何优雅地销毁DI容器

21.6.1 Web应用类型

21.6.2 EJB应用类型

21.6.3 Java SE应用、集成测试类型

21.7 DI容器的分层管理

21.8 脚本集成

21.9 小结

第22章 Spring最佳实践

22.1 注重分层架构设计

22.2 合理采纳注解技术

22.3 日志管理策略

22.4 善待Java EE容器内置的类装载器

22.5 逐步采纳Spring 2.5

22.6 小结

附录A 基于XML Schema的权威配置指南

A.1 XML配置文件

A.2 命名空间

A.2.1 元素

A.2.2 元素

A.2.3 元素

A.2.4 元素

A.3 命名空间

A.3.1 元素

A.3.2 元素

A.3.3 元素

A.3.4 元素

A.3.5 元素

A.3.6 元素

A.4 命名空间

A.4.1 元素

A.4.2 元素

A.4.3 元素

A.4.4 元素

A.4.5 元素

A.4.6 元素

A.4.7 元素

A.4.8 元素

A.5 命名空间

A.5.1 元素

A.5.2 元素

A.5.3 元素

A.6 命名空间

A.6.1 元素

A.6.2 元素

A.6.3 元素

A.7 命名空间

A.7.1 元素

A.7.2 元素

A.7.3 元素

A.8 命名空间

A.8.1 元素

A.8.2 元素

A.9 命名空间

A.9.1 元素

A.9.2 元素

A.9.3 元素

A.9.4 元素

A.10

命名空间

A.11 小结

书摘插图第1篇 综述

随着Java EE 5平台标准的发布,新一轮的技术革新继而上演。在POJO开发模型领域,Spring一直以领先者的姿态呈现。Spring 1.x获得了巨大成功,它倡导的POJO开发模型加速了TDD的实施,并最终保证了复杂软件的如期高质量交付。Spring 2.x在Spring 1.x基础上,大大简化了应用配置,同时又保证了Spring 1.X兼容性。它引入了新的命名空间、与Aspect J 6进行无缝集成、提供一流的JPA集成支持、内置MDP开发模型、全面拥抱注解技术。最令人振奋的是,Spring 2.x完整而深入地支持Java EE 5、JDK 6.0,包括对OSGi的全面支持。

“分久必合,合久必分”。Java EE平台技术出现前,各个服务器厂商以专有行为开发自身的服务器产品。Java EE平台技术出现后,各个服务器产品遵循了Java EE相关技术规范。它们在遵循规范的同时,又引入了自身的专有行为,有些是由Java EE规范未定义清晰导致的,有些是由厂商的理解不到位造成的。Spring社区出现后,这些专有行为又被一到一起,借助Dl容器能够合理屏蔽各厂商的专有行为。Dl容器的使用使得应用代码不再同具体Java EE容器耦合在一起,而且AOP技术的引入使得Dl容器中受管Bean的威力更大。

Spring 2.x在Java EE 5时代已经成为主角、颠覆者,因为它提供的DI、DOP技术已经远远超越了Java EE容器提供的依赖性管理支持和@Interceptors拦截器支持。

本部分包括如下内容。

……

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有