logo资料库

基于SPRING框架的平安PAFA架构解析.doc

第1页 / 共246页
第2页 / 共246页
第3页 / 共246页
第4页 / 共246页
第5页 / 共246页
第6页 / 共246页
第7页 / 共246页
第8页 / 共246页
资料共246页,剩余部分请下载后查看
第一章 PAFA简介
1.1 PAFA是什么
1.2 新PAFA和旧PAFA
1.3 PAFA架构
1.4 PAFA对JDK的要求
1.5 初探PAFA
1.6 SPRING与PAFA的关系
第二章 第一个pafa程序
2.1业务需求
2.2数据库设计
2.3数据源配置
PoolName 指定为我们刚才建立的数据连接池!
2.4从Pafa项目模板快速生成一个项目框架
Pafa有一个模板生成工具apptemplate,可以快速的生成一个项目的基本框架!
2.5 Eclipse导入存在的项目
6、在D:\workspace\userApp下建立一个lib目录,把所需要的jar包都放到这个li
2.6 为持久层创建一个单元测试
2.7 配置Ibatis和PAFA
2.8 实现Ibatis DAO
2.9 进行DAO单元测试
2.10 为Service创建一个单元测试
2.11 编码Service实现
2.12 单元测试Service
2.13 为Action创建单元测试
2.14 编码Action实现
Action方法返回值都是ServiceResponse类型。具体的返回值都是放在model属性中。
GetUserInfoAction.java
QueryUserInfoAction.java
RemoveUserInfoAction.java
UpdateUserInfoAction.java
2.15 单元测试Action
2.16 为Web层创建一个Controller
2.17 使用Tile模板进行页面布局设计
Error.jsp用于显示错误信息
Main.jsp是我们系统的欢迎页面
2.18 实现展示页面
2.19 用ant打包应用
2.20发布应用到WebLogic服务器
2.21 实现删除用户功能
2.22 实现新增用户功能
ModelAndView mav= null;
2.23 实现修改用户功能
ModelAndView mav= null;
第三章 深入pafa框架
3.1概述
3.2 控制反转与依赖注入
Public void setBar(Bar bar){
3.3 控制反转的种种
3.3.1 拉模式的依赖查找
3.3.2 上下文式的依赖查找
3.3.3 构造函数依赖注入
3.3.4 setter方法依赖注入
3.3.5 依赖查找还是依赖注入
3.3.6 构造函数注入还是setter方法注入
3.4 Bean与BeanFactory
3.5 配置Bean
3.5.2 使用setter方法注入
3.5.3 使用构造函数注入
3.5.12 自动织入依赖
3.5.13 依赖检查
3.5.14 bean继承
3.8 ApplicationContext
3.9 解析pafa项目结构
3.9.1 pafa开发目录布局及说明
3.9.2 配置文件说明
3.9.3 布署目录结构
3.10 pafa框构的几个重要对象
3.10.1 PafaDTO
3.10.2 ServiceRequest
3.10.3 ServiceResponse
3.10.4 AbstractAction
3.10.5 BaseService
第四章pafa MVC框架
4.1配置DispatcherServlet和ContextLoaderListener
4.1.1 配置DispatcherServlet
4.1.2 配置ContextLoaderListener
4.2 Controller接口
4.2.1.AbstractController
HttpServletResponse response) throws Excep
4.2.2.ParameterizableViewController
4.2.3 MultiActionController
4.2.4 SimpleFormController
1、显示用户输入界面。这时一般是通过HTTP的GET请求方式来访问,应用系统做好数据准备等预处理工作后,
2、用户填写数据后,提交表单,这时一般是通过HTTP的POST请求方式来访问,应用系统会校验处理数据,返
4.3 SimpleFormController的请求处理流程
4.3.1 SimpleFormController对GET请求的处理流程
4.3.2 SimpleFormController对POST请求的处理流程
4.4 Tiles模板技术
4.5 Spring验证方法
4.5.1什么是数据绑定
ClientDTO clientDTO = (ClientDTO) command; //自
4.5.2 如何实现数据绑定
第一,被绑定对象必须符合JavaBean的规范
第二,配置web context
第三,页面数据命名必须和对象属性保持一致
4.5.3 绑定特殊类型数据,如日期
4.5.4 如何绑定数组、List、Map等集合型数据
4.5.5 复杂绑定示例
policyDTO
4.5.6 PAFA的数据校验
4.5.7 Web层数据校验
第五章JSTL标签
5.1 JSTL1.1简介
5.1.1 安装使用JSTL 1.1
<%@ taglib prefix="c" uri="http://java.sun.com/jsp
<%@ taglib prefix="c" uri="http://www.javaworld.co
5.2 核心标签库 (Core tag library)
5.2.1 表达式操作
5.2.2 流程控制
5.2.3 迭代操作
[varStatus="varStatusName"] [begin="begin"] [end="
5.2.4 URL 操作
[scope="{page|request|session|application}"] [char
Null 和 错误处理
" />
说明
Null 和 错误处理
5.3.2 格式化标签
Null 和 错误处理
Null 和 错误处理
5.4 其他
第六章 用ibatis进行持久化
6.1 ibatis 介绍
6.2 ibatis 启步
6.2.1 准备工作
6.2.2 构建ibatis 基础代码
WHERE id = #id# ⑺
6.3 SQL Map XML配置文件
6.3.1 Properties元素
6.3.2 Settings 节点
6.3.3 transactionManager 节点
6.3.4 dataSource 节点
6.3.5 sqlMap 节点
6.3.6 SQL Map XML映射文件
6.4 Mapped Statements
6.4.1 SQL 语句
6.4.2 自动生成的主键
SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL
SELECT @@IDENTITY AS ID
6.4.3 存储过程
6.4.4 parameterClass
6.4.5 parameterMap 属性
6.4.6 Inline Parameter简介
6.4.7 resultClass
6.4.8 resultMap
6.5 cacheModel
6.6 xmlResultName
6.7 Result Map
6.8 复杂类型属性(即自定义类型的属性)
6.9 动态Mapped Statement
ACC_
6.9.1 二元条件元素
6.9.2 一元条件元素
6.9.3 简单的动态SQL元素
6.10 用SQL Map API编程
6.10.1 配置SQL Map
6.10.2 事务处理
6.10.3 自动的事务处理
6.10.4 全局(分布式)事务
6.10.5 批处理
6.11 用SqlMapClient执行SQL语句
第七章 UM介绍
7.1 J2EE Security 介绍
7.2 Authentication 认证
7.2.1 Web Application中的认证规范 (三种认证方式)
7.2.2 EJB中的认证规范
7.2.3 Weblogic认证
Servlet
EJB
7.3 Authorization授权
7.3.1 资源(Resource)和Security Role
7.3.2 Declarative Authorization
Web资源的声明式授权
EJB资源的声明式授权
7.4 UM介绍
7.4.1 UM特点
7.4.2 UM使用Directory Server作为J2EE Security Realm
7.4.3 目前的UM可以解决以下问题
7.5 使用UM
7.5.1 在WebApplication中设置Login和login error页面
7.5.2 调用受访问控制的EJB
7.5.3 UM接口
UM可供调用的接口
第八章 SQL优化及PLSQL使用
8.1 SQL优化原则
FROM DEBIT_TRANSACTIONS
WHERE TRAN_DATE='31-DEC-95'
FROM DEBIT_TRANSACTIONS
WHERE TRAN_DATE='31-DEC-95'
FROM EMP
GROUP BY JOB
FROM EMP
WHERE JOB=‘PRESIDENT'ORJOB=‘MANAGER'
ALTER INDEX REBUILD
WHERE子句中,如果索引列是函数的一部分。优化器将不使用索引而使用全表扫描
WHERE LOC_ID=10
UNION
SELECT…FROM DEPARTMENT WHERE DEPT_CODE IS NOT
SELECT…FROM DEPARTMENT WHERE DEPT_CODE>=0
1)ORDER BY中所有的列必须包含在相同的索引中并保持在索引中的排列顺序
DEPT_CODE PK NOT NULL
SELECT EXECUTIONS,DISK_READS,BUFFER_GETS,
SQL_TEXT
AND BUFFER_GETS>0
AND(BUFFER_GETS-DISK_READS)/BUFFER_GETS<0.8
ORDER BY 4 DESC
8.2 PLSQL DEVELOPER简单使用
8.2.1简单安装配置
8.2.2常用的功能
8.3 oracle的工作原理-提高篇
8.3.1 SQL语句的处理过程
8.3.1.1 DML语句的处理
8.3.1.2查询语句的处理
8.3.1.3 DDL语句的处理(DDLStatementProcessing)
8.3.1.4事务控制(ControlofTransactions)
8.3.2 ORACLE的优化器
8.3.2.1 基于规则的优化-RBO
8.3.2.2 基于代价的优化-CBO
8.3.2.3 判断当前数据库使用何种优化器
8.3.2.4 什么是优化
8.3.3 ORACLE的执行计划
8.3.3.1概念性术语
·共享sql语句
·Rowid的概念
·Recursive SQL概念
·Row Source(行源)
·Predicate(谓词) :
·Driving Table(驱动表)
·Probed Table(被探查表)
·组合索引(concatenated index)
·可选择性(selectivity)
·访问路径(方法) (accesspath)
1)全表扫描(FullTableScans,FTS)
SELECT STATEMENT [CHOOSE]Cost=
Query Plan
SELECT STATEMENT [CHOOSE]Cost=1
Query Plan
SELECT STATEMENT [CHOOSE]Cost=1
SELECT STATEMENT[CHOOSE]Cost=1
INDEX UNIQUE SCAN EMP_I1
SELECT STATEMENT[CHOOSE]Cost=1
INDEX RANGE SCAN EMP_I1[ANALYZED]
SELECT STATEMENT [CHOOSE]Cost=1
·表之间的连接
SELECT A.COL1,B.COL2
FROM A,B
MERGE
RowSource1 RowSource2
QueryPlan
SELECT STATEMENT[CHOOSE]Cost=17
SORT JOIN
Rowsource1的Rown----------------Probe->Rowsource2
QueryPlan
SELECT STATEMENT[CHOOSE]Cost=5
TABLE ACCESS FULL EMP[ANALYZED]
Query Plan
SELECT STATEMENT[CHOOSE]Cost=3
8.3.3.2 如何生成执行计划
·最简单的办法
·用explain plan命令
·用dbms_system存储过程生成执行计划
8.3.3.3 如何干预执行计划
·如何使用hints
·使用全套的hints
SELECT/*+FIRST_ROWS(10)*/employee_id,last_name,sal
SELECT/*+CHOOSE*/employee_id,last_name,salary,job_
SELECT/*+RULE*/employee_id,last_name,salary,job_id
SELECT /*+FULL(e)*/employee_id,last_name
SELECT /*+ROWID(employees)*/*
SELECT /*+NO_INDEX(employees emp_empid)*/employee_
ORDERED/*+ORDERED*/
SELECT /*+ORDERED*/ o.order_id,c.customer_id,l.uni
第九章pafa应用程序测试
9.1 引言
9.2 JUnit
9.2.1 概述
9.2.2 开始单元测试
9.2.3 编写测试案例流程
9.2.4 TestCase类
9.2.5 通过Ant执行测试
9.2.6对异常的测试
9.2.7 对返回值为空的方法的测试
9.3 jMock
9.3.1概述
9.3.2开始使用jMock
9.3.3 jMock的Stubs and Expectations
9.3.4 jMock提供的Constraints
Object Equality
Object Identity
Instance of a Type
String Contains a Substring
Null or Not Null
Anything
组合Constraints
Not — Logical Negation
And — Logical Conjunction
Or — Logical Disjunction
9.4 测试代码覆盖工具EMMA
9.4.1 概述
9.4.2使用EMMA
9.5 DBUnit
9.5.1简单介绍
9.5.2编码方式
9.5.3与Ant的结合
9.6集成功能测试工具WebTest
9.6.1概述
9.6.2使用WebTest
配置文件
登录脚本文件
9.6.3业务测试脚本
9.7 Selenium集成测试
9.7.1 Selenium概述
9.7.2使用Selenium IDE生成脚本
9.7.3测试用例与测试脚本
9.7.4 Ant的运行脚本
第十章 Eclipse高级使用
10.1 Eclipse初探
10.1.1 用Eclipse新建一个工程
10.2 代码自动完成
Return name;
10.2.1 创建Javadoc
10.2.2 生成注释
10.2.3 自动导入类型
10.2.4 覆写父类方法
10.2.5 自动生成getter和setter方法
10.2.6创建委托方法
10.2.7 继承构造函数
10.2.8 生成构造函数
10.3 修正辅助
10.3.1 快速修正
10.3.2 快速辅助
10.3.3 语法着色
10.4 重构代码
10.4.1 移动类或包
10.4.2 为类或包改名
10.4.3 重命名方法
10.4.4 移动方法
10.4.5 把方法移到父类
10.4.6 更改方法签名
10.4.7 把代码抽取为方法
System.out.println("Hello Eclipse");
10.4.8 引入工厂
10.4.9 抽取接口
10.4.10 使用父类类型
10.4.11 使嵌套类成为普通类
10.4.12 使匿名类为嵌套类
10.4.13 抽取变量
System.out.println("Hello World");
        String hi = "Hello World";
10.4.14 封装变量
10.4.15 把局部变量变为成员变量
10.4.16 抽取或内联常量
10.5 资源比较
10.5.1  替换为历史版本
10.5.2  恢复已删除资源
外 包 员 工 技 术 培 训 编写:紫川平安外包团队 1
写在前面 公司很早就计划编写一份培训文档,作为公司外派平安工作新员工的培训资料。这个计划的大约是在 2007 年 1 月 份提出的。因为我到观澜封闭开发,没有时间来实施这个计划。直到 5 月份我封闭开发结束后,白洋再次与我交谈让我 来负责完成这个计划。要完成这么一个庞大的编写任务,凭一人之力来完成它,的确太艰难了。所以我首先就想到了公 司所有外派平安的同事们,我们可以共同来完成这个培训文档,让每个人编写自己最擅长的章节。 当我写完这个文档的提纲,并向大家谈起这个编写活动后,获得了大家广泛的支持。在不到两个小时之内,各个章 节的编写任务很快就被大家主动的承担了!真的非常的感动。在内心感谢各位参与编写活动的兄弟! 编写这份文档没有任何报酬,公司也没有为我们安排特定的时间来编写文档。大家的日常的工作又是非常的紧张, 繁忙。所以这个文档都是大家在业余时间完成的。有的同事在下班后,继续加班编写;有的同事牺牲自己的周末休息时 间来编写;甚至有些同事在生病的情况下,仍然没有放弃过!最终所有章节都按时编写完成。谢谢所有提交文档的兄弟 们! 虽然我们不是技术作家,虽然我们的文档仅仅是用于公司内部培训。但是文档的质量足以让每一个紫川人骄傲!我 们参与编写文档的同事,都具有很强的工作能力和非常高的技术水平。我们都站在技术的最前沿和生产的第一线,文档 的内容都是各位作者的浓缩精华和经验总结。这些经验都是非常宝贵的,可以让阅读者直接获取作者多年的工作经验! 例如白洋编写的《UM 介绍》,邹彬编写的《SQL 优化及 PLSQL 使用》具有非常高的水平。 感谢为我们编写高质量文章的紫川精英们! 为了保证文档的质量,组织了编辑团对每一篇文章进行审阅和编辑。他们是:肖建宇,邹彬,罗英宝。其中肖建宇 非常细致的审阅了每一篇文章,细致到一个错误字。也借这个机会感谢肖建宇长期以来帮我校正我所发表的文章!他非 常细心,严谨,负责。再次谢谢! 通过这次编写活动,让我深深的体会到了团队的力量。一个优秀的企业总能给予员工更多的培训机会及注重员工之 间知识相互传递和知识的积累。公司文化正是通过像这样点点滴滴的小事不断的沉淀、升华而形成的。不管我们从五湖 四海来,将会到天南地北去!不要忘记:“我们曾经在这里并肩战斗过!”。 由于一些原因,有部份已经提交的文章没有录用到这个版本中发布,向作者表示歉意。 如果您阅读文章时,某些内容能够为您带来一些帮忙,就是对我们作者最大的嘉奖。因为时间仓促,水平有限,文章 难以避免会有错误存在。如果您发现任何错误,请与我们联系。我们将会在下一个版本中改正。 第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章 PAFA 简介 第一个 PAFA 程序 深入 PAFA 框架 PAFA MVC 框架 JSTL 标签 用 Ibatis 进行持久化 UM 使用 SQL 优化及 PLSQL 使用 PAFA 应用程序测试 ECLIPSE 高级使用 袁光东 2007-7-6 高纪 袁光东 袁光东 肖建宇 罗英宝 张修志 白洋 邹彬 罗斌 胡新胜 目录 第一章 PAFA 简介 ............................................................................................................................. 9 2
1.1 PAFA 是什么....................................................................................................................... 9 1.2 新 PAFA 和旧 PAFA............................................................................................................. 9 1.3 PAFA 架构 ........................................................................................................................... 9 1.4 PAFA 对 JDK 的要求 .........................................................................................................10 1.5 初探 PAFA......................................................................................................................... 10 1.6 SPRING 与 PAFA 的关系...................................................................................................10 第二章 第一个 pafa 程序 .............................................................................................................. 11 2.1 业务需求 ........................................................................................................................... 11 2.2 数据库设计 ....................................................................................................................... 12 2.3 数据源配置 ....................................................................................................................... 12 2.4 从 Pafa 项目模板快速生成一个项目框架 .....................................................................13 2.5 Eclipse 导入存在的项目 ...............................................................................................14 2.6 为持久层创建一个单元测试 ..........................................................................................19 2.7 配置 Ibatis 和 PAFA.......................................................................................................22 2.8 实现 Ibatis DAO............................................................................................................. 24 2.9 进行 DAO 单元测试 ..........................................................................................................25 2.10 为 Service 创建一个单元测试....................................................................................26 2.11 编码 Service 实现 ........................................................................................................28 4.12 单元测试 Service.........................................................................................................29 2.13 为 Action 创建单元测试 ..............................................................................................29 2.14 编码 Action 实现 ..........................................................................................................30 2.15 单元测试 Action...........................................................................................................33 2.16 为 Web 层创建一个 Controller...................................................................................33 2.17 使用 Tile 模板进行页面布局设计 ..............................................................................35 2.18 实现展示页面 ................................................................................................................ 39 2.19 用 ant 打包应用............................................................................................................ 41 2.20 发布应用到 WebLogic 服务器 .......................................................................................44 2.21 实现删除用户功能 ........................................................................................................51 2.22 实现新增用户功能 ........................................................................................................54 2.23 实现修改用户功能 ........................................................................................................59 第三章 深入 pafa 框架 ..........................................................................................................66 3.1 概述 ................................................................................................................................... 66 3.2 控制反转与依赖注入 ......................................................................................................66 3.3 控制反转的种种 ..............................................................................................................67 3.3.1 拉模式的依赖查找 ......................................................................................................67 3.3.2 上下文式的依赖查找..................................................................................................67 3.3.3 构造函数依赖注入 ......................................................................................................67 3.3.4 setter 方法依赖注入 .................................................................................................68 3.3.5 依赖查找还是依赖注入 ..............................................................................................68 3.3.6 构造函数注入还是 setter 方法注入 ........................................................................68 3.4 Bean 与 BeanFactory......................................................................................................70 3.5 配置 Bean......................................................................................................................... 71 3.5.2 使用 setter 方法注入 ................................................................................................71 3.5.3 使用构造函数注入 ......................................................................................................72 3.5.4 注入 Bean..................................................................................................................... 74 3
3.5.5 注入简单值.................................................................................................................. 75 3.5.6 注入集合 ...................................................................................................................... 76 3.5.7 工厂嵌套 ...................................................................................................................... 79 3.5.8 内部 Bean..................................................................................................................... 81 3.5.9 Bean 的名字 ................................................................................................................. 81 3.5.10 Bean 的实例 ............................................................................................................... 82 3.5.11 解决 Bean 的依赖 ......................................................................................................82 3.5.12 自动织入依赖............................................................................................................ 83 3.5.13 依赖检查.................................................................................................................... 85 3.5.14 bean 继承 ................................................................................................................... 86 3.6 Bean 的生命周期............................................................................................................. 87 3.6.1 InitializingBean 接口 .............................................................................................87 3.6.2 DisposableBean 接口 .................................................................................................89 BeanNameAware 接口 .................................................................................................90 3.6.3 3.6.4 BeanFactoryAware 接口 .............................................................................................90 3.7 关于 FactoryBean...........................................................................................................91 3.8 ApplicationContext......................................................................................................95 3.9 解析 pafa 项目结构 ........................................................................................................96 3.9.1 pafa 开发目录布局及说明 .........................................................................................96 3.9.2 配置文件说明 ..............................................................................................................97 3.9.3 布署目录结构 ..............................................................................................................97 3.10 pafa 框构的几个重要对象...........................................................................................99 5.10.1 PafaDTO...................................................................................................................... 99 ServiceRequest......................................................................................................99 5.10.2 5.10.3 ServiceResponse......................................................................................................99 5.10.4 AbstractAction........................................................................................................99 5.10.5 BaseService..............................................................................................................99 第四章 pafa MVC 框架.................................................................................................................. 100 4.1 配置 DispatcherServlet 和 ContextLoaderListener............................................. 100 4.1.1 配置 DispatcherServlet.........................................................................................100 4.1.2 配置 ContextLoaderListener.................................................................................101 4.2 Controller 接口 ........................................................................................................... 102 4..2.2 MultiActionController........................................................................................104 4.3.3 SimpleFormController............................................................................................105 4.3.4 SimpleFormController 对 GET 请求的处理流程:.................................................105 SimpleFormController 对 POST 请求的处理流程:............................................ 106 4.3.5 4.4 Tiits 模板技术 ............................................................................................................. 106 4.5 Spring 验证方法 ........................................................................................................... 108 4.5.1 什么是数据绑定......................................................................................................... 108 4.5.2 如何实现数据绑定 ....................................................................................................109 4.5.3 绑定特殊类型数据,如日期 .....................................................................................110 4.5.4 如何绑定数组、List、Map 等集合型数据 .............................................................111 4.5.5 复杂绑定示例 ............................................................................................................ 111 4.5.6 PAFA 的数据校验 ....................................................................................................... 113 4.5.7 Web 层数据校验......................................................................................................... 113 4
第五章 JSTL 标签.......................................................................................................................... 115 5.1 JSTL1.1 简介 ................................................................................................................. 115 5.1.1 安装使用 JSTL 1.1................................................................................................... 115 5.2 核心标签库 (Core tag library)..............................................................................116 5.2.1 表达式操作................................................................................................................ 117 5.2.2 流程控制 .................................................................................................................... 122 5.2.3 迭代操作 .................................................................................................................... 125 5.2.4 URL 操作 .................................................................................................................... 130 5.3 I18N 格式标签库 (I18N-capable formatting tag library)............................. 134 5.3.1 国际化标签................................................................................................................ 134 5.3.2 格式化标签................................................................................................................ 137 5.4 其他 ................................................................................................................................ 144 第六章 用 ibatis 进行持久化 ....................................................................................................146 6.2 ibatis 介绍.................................................................................................................. 146 6.2 ibatis 启步.................................................................................................................. 146 6.2.1 准备工作 .................................................................................................................... 146 6.2.2 构建 ibatis 基础代码 .............................................................................................146 6.3 SQL Map XML 配置文件 .................................................................................................150 6.3.1 Properties 元素 .......................................................................................................150 6.3.2 Settings 节点.......................................................................................................... 150 6.3.3 transactionManager 节点 ......................................................................................151 6.3.4 dataSource 节点 ......................................................................................................151 6.3.5 sqlMap 节点 .............................................................................................................. 152 6.3.6 SQL Map XML 映射文件 .............................................................................................153 6.4 Mapped Statements......................................................................................................153 SQL 语句.................................................................................................................. 154 6.4.1 6.4.2 自动生成的主键........................................................................................................154 6.4.5 存储过程 .................................................................................................................... 154 6.4.6 parameterClass........................................................................................................155 parameterMap 属性 ................................................................................................155 6.4.7 6.4.8 Inline Parameter 简介 ...........................................................................................155 6.4.9 resultClass.............................................................................................................. 156 6.4.10 resultMap................................................................................................................ 157 6.5 cacheModel.................................................................................................................... 157 6.6 xmlResultName.............................................................................................................. 157 6.7 Result Map.................................................................................................................... 158 6.8 复杂类型属性(即自定义类型的属性) ....................................................................160 6.9 动态 Mapped Statement...............................................................................................161 6.9.1 二元条件元素 ............................................................................................................ 162 6.9.2 一元条件元素 ............................................................................................................ 162 6.9.3 简单的动态 SQL 元素 ................................................................................................162 6.10 用 SQL Map API 编程..................................................................................................163 6.10.1 配置 SQL Map........................................................................................................... 163 6.10.2 事务处理.................................................................................................................. 163 6.10.3 自动的事务处理......................................................................................................164 5
6.10.4 全局(分布式)事务..............................................................................................165 6.10.5 批处理...................................................................................................................... 166 6.11 用 SqlMapClient 执行 SQL 语句 ................................................................................166 第七章 UM 介绍 ............................................................................................................................. 168 7.1 J2EE Security 介绍 ....................................................................................................168 7.2 Authentication 认证..................................................................................................168 7.2.1 Web Application 中的认证规范 .............................................................................168 7.2.2 EJB 中的认证规范 .....................................................................................................169 7.2.3 Weblogic 认证 ........................................................................................................... 169 7.3 Authorization 授权 .....................................................................................................170 7.3.1 资源(Resource)和 Security Role.....................................................................170 7.3.2 Declarative Authorization..................................................................................171 7.4 UM 介绍 ........................................................................................................................... 173 7.4.1 UM 特点 ....................................................................................................................... 173 7.4.2 UM 使用 Directory Server 作为 J2EE Security Realm..................................... 173 7.4.3 目前的 UM 可以解决以下问题..................................................................................173 7.5 使用 UM........................................................................................................................... 174 7.5.1 在 WebApplication 中设置 Login 和 login error 页面 ..................................... 174 7.5.2 调用受访问控制的 EJB.............................................................................................175 7.5.3 UM 接口 ....................................................................................................................... 176 第八章 SQL 优化及 PLSQL 使用 ...................................................................................................178 8.1 SQL 优化原则 ................................................................................................................. 178 8.2 PLSQL DEVELOPER 简单使用 .........................................................................................182 8.2.1 简单安装配置 ............................................................................................................. 182 8.2.2 常用的功能................................................................................................................. 182 8.3 oracle 的工作原理-提高篇.........................................................................................182 8.3.1 SQL 语句的处理过程.................................................................................................183 8.3.2 ORACLE 的优化器 .......................................................................................................185 8.3.3 ORACLE 的执行计划...................................................................................................187 第九章 pafa 应用程序测试.......................................................................................................... 198 9.1 引言 ................................................................................................................................ 198 9.2 JUnit.............................................................................................................................. 198 9.2.1 概述 ............................................................................................................................ 198 9.2.2 开始单元测试 ............................................................................................................ 198 9.2.3 编写测试案例流程 ....................................................................................................200 9.2.4 TestCase 类 ............................................................................................................... 202 9.2.5 通过 Ant 执行测试 ....................................................................................................203 9.2.6 对异常的测试 ............................................................................................................. 205 9.2.7 对返回值为空的方法的测试 ....................................................................................205 9.3 jMock.............................................................................................................................. 206 9.3.1 概述 ............................................................................................................................. 206 9.3.2 开始使用 jMock.......................................................................................................... 206 9.3.3 jMock 的 Stubs and Expectations........................................................................209 9.3.4 jMock 提供的 Constraints......................................................................................209 9.4 测试代码覆盖工具 EMMA...............................................................................................210 6
9.4.1 概述 ............................................................................................................................ 210 9.4.2 使用 EMMA.................................................................................................................... 211 9.5 DBUnit............................................................................................................................ 212 9.5.1 简单介绍 ..................................................................................................................... 212 9.5.2 编码方式 ..................................................................................................................... 213 9.5.3 与 Ant 的结合 ............................................................................................................. 217 9.6 集成功能测试工具 WebTest..........................................................................................219 9.6.1 概述 ............................................................................................................................. 219 9.6.2 使用 WebTest.............................................................................................................. 219 配置文件 ................................................................................................................................ 219 登录脚本文件 ........................................................................................................................ 219 9.6.3 业务测试脚本 ............................................................................................................. 220 9.7 Selenium 集成测试 .......................................................................................................222 9.7.1 Selenium 概述 ...............................................................................................................222 9.7.2 使用 Selenium IDE 生成脚本 ...................................................................................222 9.7.3 测试用例与测试脚本.................................................................................................222 9.7.4 Ant 的运行脚本......................................................................................................... 223 第十章 Eclipse 高级使用 ........................................................................................................... 224 10.1 Eclipse 初探 ............................................................................................................... 224 10.1.1 用 Eclipse 新建一个工程 ......................................................................................224 10.2 代码自动完成 .............................................................................................................. 233 10.2.1 创建 Javadoc........................................................................................................... 235 10.2.2 生成注释.................................................................................................................. 236 10.2.3 自动导入类型.......................................................................................................... 236 10.2.4 覆写父类方法 ........................................................................................................236 10.2.5 自动生成 getter 和 setter 方法..........................................................................236 10.2.6 创建委托方法 ........................................................................................................... 237 10.2.7 继承构造函数.......................................................................................................... 237 10.2.8 生成构造函数.......................................................................................................... 237 10.3 修正辅助 ...................................................................................................................... 237 10.3.1 快速修正.................................................................................................................. 237 10.3.2 快速辅助.................................................................................................................. 238 10.3.3 语法着色 ................................................................................................................ 238 10.4 重构代码 ...................................................................................................................... 239 10.4.1 移动类或包.............................................................................................................. 239 10.4.2 为类或包改名.......................................................................................................... 240 10.4.3 重命名方法.............................................................................................................. 240 10.4.4 移动方法.................................................................................................................. 241 10.4.5 把方法移到父类......................................................................................................241 10.4.6 更改方法签名.......................................................................................................... 241 10.4.7 把代码抽取为方法..................................................................................................241 10.4.8 引入工厂.................................................................................................................. 242 10.4.9 抽取接口.................................................................................................................. 242 10.4.10 使用父类类型 ........................................................................................................242 10.4.11 使嵌套类成为普通类 ............................................................................................242 7
10.4.12 使匿名类为嵌套类 ................................................................................................242 10.4.13 抽取变量 ................................................................................................................ 242 10.4.14 封装变量 ................................................................................................................ 243 10.4.15 把局部变量变为成员变量 ....................................................................................243 10.4.16 抽取或内联常量 ....................................................................................................244 10.5 资源比较 ...................................................................................................................... 244 10.5.1 替换为历史版本..................................................................................................244 10.5.2 恢复已删除资源..................................................................................................244 8
分享到:
收藏