Microsoft Word - J2EE.第一部分.doc
|
|
- 券褒 衡
- 7 years ago
- Views:
Transcription
1 J2EE 交 流 文 档 概 述 曾 有 人 说 过 : 程 序 等 于 算 法 加 数 据 结 构 但 是 在 今 天, 这 句 话 已 不 适 用 大 部 分 的 商 业 应 用 开 发 我 们 面 临 一 个 需 求 容 易 变 化 业 务 逻 辑 复 杂 多 数 据 源 多 表 现 形 式 的 应 用 情 形 如 何 快 速 高 质 量 地 完 成 项 目 开 发, 如 何 避 免 公 司 内 部 多 项 目 组 的 重 复 劳 动, 建 立 灵 活 而 强 大 的 应 用 架 构 以 提 高 整 体 生 产 力, 这 是 目 前 很 多 开 发 人 员 和 公 司 管 理 层 面 临 的 难 题 本 文 从 实 用 主 义 出 发, 避 免 纯 技 术 的 讨 论, 对 实 际 项 目 中 一 些 热 点 难 点 进 行 讨 论, 力 求 给 读 者 一 些 启 示 限 于 笔 者 的 经 验 和 能 力, 其 中 不 足 和 错 误 之 处 还 望 指 正 第 一 部 分 是 对 若 干 专 题 的 讨 论 以 及 优 秀 开 源 架 构 SpringFramework 技 术 的 介 绍, 第 二 部 分 是 一 个 实 际 的 项 目 的 设 计 和 开 发 附 录 A 是 一 份 设 计 文 档, 是 对 第 一 部 分 数 据 采 集 部 分 的 补 充 注 : 这 篇 文 档 是 笔 者 学 习 和 使 用 Java 到 现 在 的 一 点 总 结, 旨 在 和 cjsdn 的 网 友 分 享 经 验 与 教 训 部 分 内 容 因 涉 及 具 体 工 作 而 比 较 简 略, 敬 请 见 谅 目 录 第 一 部 分 专 题 讨 论... 2 数 据 库 编 程... 2 避 免 前 台 的 或 核 心 的 代 码 直 接 访 问 数 据 库... 2 DAO 模 式... 3 不 应 过 分 强 调 应 用 的 数 据 库 移 植 性... 4 适 当 地 使 用 O/R Mapping 技 术 简 化 数 据 库 的 读 写... 5 实 例... 5 ORM 实 现 技 术... 5 Hibernate 的 简 单 介 绍... 6 底 层 的 JDBC 技 术 往 往 更 有 效... 6 SpringFramework JDBC Support... 7 实 例... 8 Spring 对 SQLException 的 封 装... 9 runtime exception vs. checked exception... 9 多 数 据 源 Web 层...11 MVC 的 Web 开 发 方 式...11 SpringFramework WebMVC SpringFramework 的 简 单 介 绍 Goal of SpringFramework 利 用 面 向 对 象 的 优 秀 技 术 将 面 对 接 口 编 程 做 到 实 处 将 单 元 测 试 变 的 简 单 SpringFramework 的 概 貌 BeanFactory 和 IoC 容 器 什 么 是 BeanFactory? 什 么 是 IoC?... 19
2 Spring 技 术 构 架 Power the whole application with Spring Integrate with third-party web application frameworks Use Spring to manage EJBs Remoting through SOAP, RMI, Web services 参 考 资 料 第 二 部 分 Demo 系 统 附 录 A 第 一 部 分 专 题 讨 论 J2EE, 开 发 企 业 应 用 很 好 的 一 项 技 术 或 者 说 平 台 它 的 内 涵 非 常 丰 富, 使 用 人 群 也 非 常 庞 大, 有 很 多 最 佳 实 践, 优 秀 的 工 具, 优 秀 的 api 和 framework 事 实 证 明,J2EE 确 实 可 以 为 复 杂 的 企 业 应 用 提 供 强 大 的 技 术 保 障 但 或 许 由 于 它 过 于 复 杂, 开 发 人 员 缺 少 足 够 的 技 能 或 开 发 的 经 验, 往 往 也 是 导 致 一 些 J2EE 项 目 落 马 的 原 因 这 一 部 分 中, 我 花 一 定 篇 幅 谈 谈 学 习 和 使 用 J2EE 技 术 到 现 在 对 若 干 问 题 的 看 法 大 部 分 内 容 都 不 会 讲 的 很 细 节, 因 为 我 假 设 读 者 具 备 相 当 的 这 方 面 知 识 数 据 库 编 程 在 今 天, 几 乎 每 个 应 用 都 会 使 用 数 据 库 来 保 存 信 息 这 方 面 我 们 遇 到 的 挑 战 是 : 如 果 需 求 明 确, 部 署 情 形 也 比 较 单 一, 则 往 往 针 对 一 个 特 定 数 据 库 产 品 的 某 一 版 本 设 计 schema 应 用 的 复 杂 性 往 往 导 致 会 建 立 很 多 表, 很 多 表 与 表 之 间 的 联 系, 还 有 些 诸 如 字 段 的 约 束, 触 发 器 存 储 过 程 等 数 据 库 逻 辑 有 时, 一 个 项 目 需 要 同 时 使 用 几 个 数 据 库, 或 是 需 要 把 项 目 部 署 在 不 同 的 数 据 库 中 如 何 处 理 好 数 据 持 久 层.. 我 的 看 法 和 建 议 是 : 避 免 前 台 的 或 核 心 的 代 码 直 接 访 问 数 据 库 把 数 据 库 读 写 的 代 码 分 散 在 应 用 系 统 的 各 个 地 方, 这 是 一 种 冒 险 的 做 法 数 据 库 schema 的 信 息 被 扩 散 到 应 用 的 各 个 角 落, 万 一 schema 发 生 一 点 变 化, 如 字 段 名 发 生 变 化 或 一 个 字 段 从 一 个 表 转 移 到 另 一 个 表, 就 会 牵 扯 很 多 代 码 另 外 编 写 高 质 量 的 数 据 库 读 写 代 码 也 是 需 要 一 定 技 能 的, 比 如 如 何 恰 当 地 提 交 事 务 或 回 滚, 如 何 在 错 误 发 生 后 回 收 资 源 举 个 例 子, 这 样 的 代 码 或 许 很 多 人 都 看 到 过 : try{ Connection con=...//getconnection Statement stat=con.createstatement("select * from tab"); ResulstSet rs=stat.executequery();..// 处 理 结 果 集
3 rs.close(); stat.close(); con.close(); }catch(sqlexception e){..} 这 里 如 果 rs.close() 处 发 生 异 常,conneciton 将 不 能 被 关 闭, 造 成 资 源 的 浪 费 往 往 有 些 项 目 组 中 选 择 自 己 开 发 了 数 据 库 读 写 api, 如 DbClass db=new DbClass(); RecordSet rs=db.query("select * from tab"); 这 个 模 块 一 般 由 比 较 熟 悉 数 据 库 编 程 的 开 发 人 员 负 责 设 计 和 开 发 但 是 遗 憾 的 是, 我 很 少 看 到 编 得 比 较 出 色 的 这 种 实 用 类 往 往 是 性 能 不 佳, 灵 活 度 不 大 甚 至 犯 了 类 似 前 面 的 低 级 错 误 其 实 目 前 有 些 开 源 项 目 (OpenSource Project) 提 供 了 比 较 高 质 量 的 类 似 功 能 的 实 用 类 或 框 架, 直 接 使 用 它 们 我 认 为 是 更 好 的 选 择 DAO 模 式 为 了 避 免 数 据 库 读 写 的 代 码 充 斥 在 应 用 程 序 中, 我 们 可 以 使 用 DAO 模 式, 集 中 进 行 数 据 的 读 写 DAO(Data Access Object) 是 一 个 基 本 的 J2EE 设 计 模 式, 往 往 配 合 VO(Value Object) 来 简 化 数 据 的 读 写 和 传 递 典 型 的, 如 果 我 们 要 处 理 数 据 库 的 user 表, 可 以 建 立 一 个 User 类, 描 述 了 user 表 的 数 据 然 后 建 立 一 个 接 口 UserDao, 规 定 系 统 关 于 User 操 作 的 接 口 系 统 的 其 他 模 块 都 只 和 这 个 接 口 打 交 道, 而 无 需 知 道 实 现 类 我 们 可 以 选 用 一 种 或 多 种 技 术 来 实 现 这 个 接 口 可 以 是 基 于 JDBC 或 是 Hibernate,JDO 等 ; 甚 至 可 以 把 基 于 JDBC 的 DAO 实 现 类 也 分 为 面 向 MySQL 或 是 面 向 Oracle 的 这 样, 变 动 一 项 具 体 的 数 据 库 访 问 技 术 或 是 更 改 了 数 据 库 产 品, 只 需 要 在 实 现 类 中 做 改 动, 而 不 需 要 更 改 应 用 的 其 他 代 码 对 应 的 UML Class Diagram 如 下 :
4 另 外,DAO 模 式 不 光 可 以 解 决 多 数 据 库 和 数 据 库 移 植 的 问 题, 他 同 样 适 用 于 非 数 据 库 形 式 的 数 据 源 在 下 文 多 数 据 源 专 题 中 会 讨 论 这 个 不 应 过 分 强 调 应 用 的 数 据 库 移 植 性 Java 具 有 先 天 的 优 势,JDBC 很 好 地 抽 取 了 数 据 库 的 共 性 在 实 际 项 目 中, 确 实 会 发 生 从 一 个 数 据 库 转 到 另 一 个 数 据 库 的 情 形 因 而 有 不 少 人 抱 有 这 样 的 观 点 :Java/J2EE 项 目 应 着 重 考 虑 数 据 库 的 可 移 植 性, 尽 量 少 的 使 用 当 前 数 据 库 的 特 性, 如 自 增 字 段 sequence trigger stored procedure 等 这 种 观 点 不 无 道 理, 但 是 我 认 为 在 大 多 数 情 形 下, 这 样 做 是 无 益 的 如 果 系 统 已 经 比 较 明 确 的 使 用 一 种 特 定 数 据 库 ( 如 Oracle), 公 司 花 费 很 多 财 力 来 购 买 license, 聘 请 DBA, 如 果 我 们 只 使 用 它 很 少 的 功 能, 以 追 求 所 谓 的 数 据 库 移 植 性, 某 种 程 度 上 这 无 疑 是 一 种 浪 费 一 般 来 说 数 据 库 只 保 存 数 据, 应 用 逻 辑 应 该 分 离 出 来, 在 应 用 代 码 中 完 成 但 是 有 些 操 作, 直 接 使 用 数 据 库 的 trigger,store procedure 来 完 成 或 许 要 比 由 应 用 程 序 来 完 成 高 效 的 多 即 使 我 们 需 要 面 对 多 种 数 据 库, 我 们 也 还 是 可 以 使 用 数 据 库 的 特 性 来 提 高 效 率, 以 提 高 公 司 资 源 的 利 用 度 毕 竟 主 流 的 数 据 库 在 功 能 度 方 面 是 类 似 的, 只 需 要 做 一 定 的 包 装, 就 不 会 妨 碍 我 们 使 用 特 定 数 据 库 的 增 强 特 性
5 适 当 地 使 用 O/R Mapping 技 术 简 化 数 据 库 的 读 写 由 于 我 们 借 助 Java 技 术 用 面 向 对 象 思 想 开 发 项 目, 所 以 试 图 用 面 向 对 象 的 方 式 来 处 理 数 据 库 是 很 自 然 的 数 据 库 提 供 的 是 二 维 的 接 口, 而 按 对 象 方 式 组 织 数 据 可 以 有 一 定 的 关 系 和 层 次 ORM (Object/Relative Mapping) 就 是 提 供 了 这 种 印 射 关 系 它 的 好 处 是 不 言 而 喻 的 我 们 可 以 统 一 地 使 用 面 向 对 象 思 想 来 编 写 业 务 逻 辑 和 数 据 处 理 模 块 实 例 举 个 例 子, 原 先 我 们 如 果 要 更 改 一 个 用 户 名, 代 码 或 许 会 这 样 实 现 boolean renameusername(int userid,string newname)... } String sql="update user set name=? where id=?"; Connection conn=getconnectin(); PreparedStatement pstat=conn.preparestatement(sql); pstat.setstring(1,newname); pstat.setint(2,userid); int row=pstat.executeupdate(); closesafe(pstat,conn); return row==1; 而 如 果 使 用 ORM 技 术, 或 许 只 需 要 User user=session.get(user.class,new Integer(userId)); user.setname(newname); session.update(user); 更 明 显 的 优 势 是 : 对 于 数 据 库 多 表 关 联, 我 们 一 般 需 要 编 写 带 有 JOIN 的 SQL 语 句, 而 使 用 ORM 技 术 可 以 透 明 的 处 理 这 种 多 表 关 联 如 语 句 query("from User user where user.commpany.name= foo and user.age>30") 可 以 找 出 30 岁 以 上, 在 foo 公 司 任 职 的 人 ( 数 据 库 中 user 表 有 个 字 段 是 company_id, 是 表 company 的 外 键 ) 当 然 底 层 实 现 是 由 ORM 工 具 动 态 生 成 SQL 语 句, 但 这 样 比 我 们 手 动 写 要 方 便 和 保 险 的 多 ORM 实 现 技 术 ORM 技 术 在 近 些 年 是 应 用 的 热 点, 出 现 了 很 多 优 秀 的 实 现 技 术, 其 中 J2EE 的 Entity Bean 尤 其 是 CMP 就 是 一 种 ORM 尝 试 它 使 用 EJB-QL 来 实 现 查 询, 项 目 中 通 过 Entity Bean 而 不 是 直 接 通 过 JDBC 访 问 数 据 库 来 读 写 数 据 另 外 两 种 主 流 的 ORM 技 术 是 JDO 和 Hibernate 前 者 是 Sun 公 司 JCP 下 制 定 的 规 范,1.0 已 推 出 2 年 了, 更 强 大 的 2.0 规 范 正 在 制 定 中 JDO 的 优 势 是, 它 作 为 规 范 可 以 由 不 同 厂 家 实 现 不 同 的 产 品, 而 保 持 接 口 的 一 致 后 者 Hibernate 可 能 用 的 更 广 一 点, 它 是 开 源 的 项 目 ( 并 不 遵 循 JDO 规 范, 以 自 己 的 方 式 实 现 了 ORM, 包 括 提 供 了 强 大 而 简 易 的 查 询 语 言 HQL(Hibernate Query Language), 也 提 供 类 似 JDO 的 Criterion 方 式 的 查 询 api
6 Hibernate 的 简 单 介 绍 Hibernate 的 发 行 包 中 提 供 了 比 较 丰 富 的 文 档 和 范 例, 应 该 说 上 手 是 比 较 容 易 的 我 的 习 惯 做 法 是, 先 设 计 数 据 库 表, 然 后 使 用 工 具 读 取 表 信 息 生 成 Java 类 文 件 和 mapping 文 件, 然 后 手 动 做 一 些 修 改 如 添 加 主 键 生 成 算 法 一 对 多 多 对 多 关 系 等 另 外, 也 尝 试 过 使 用 XDoclet 和 Ant, 在 Java 类 文 件 中 用 注 释 的 方 式 提 供 mapping 信 息, 由 XDoclet 来 生 成 hbm.xml 文 件 Hibernate 本 身 提 供 一 些 工 具 可 以 由 类 生 成 数 据 库 定 义 (DDL) 和 mapping, 但 我 不 倾 向 这 么 做 设 计 数 据 库 的 工 作 还 是 由 专 业 的 DBA 来 完 成 比 较 好, 借 助 他 们 对 性 能 优 化 和 设 计 上 的 一 些 经 验 另 外 往 往 一 个 数 据 库 同 时 为 几 个 应 用 系 统 服 务, 有 些 是 Java 写 的, 有 些 不 是 甚 至 一 个 数 据 库 的 寿 命 要 比 Java/J2EE 项 目 的 还 长 以 上 种 种, 让 我 认 为 先 有 表 再 生 成 Java 类 更 合 情 合 理 些 Hibernate 比 较 注 重 使 用 当 前 数 据 库 的 特 性 以 一 个 分 页 功 能 为 例, 使 用 Hibernate 的 实 现 是 Query q = session.createquery("from News as news where..."); q.setfirstresult(11); q.setmaxresults(10); List l = q.list(); Hibernate 会 尝 试 使 用 当 前 数 据 库 对 分 页 的 支 持 来 完 成 这 一 功 能, 如 Oracle 提 供 的 rownum, MSSQL 和 DB2 提 供 的 TOP, MySQL 和 PostgreSQL 提 供 的 LIMIT 字 句 如 果 数 据 库 本 身 不 支 持 分 页, 则 会 使 用 JDBC 2 的 可 滚 动 结 果 集, 来 绝 对 定 位 到 起 始 记 录 来 得 到 一 定 条 数 的 纪 录 由 于 JDBC 中 的 ResultSet 是 保 持 连 接 的, 并 非 一 次 性 把 数 据 全 部 读 到 本 地, 绝 对 定 位 会 跳 过 前 面 的 纪 录, 所 以 性 能 也 不 差 如 果 当 前 数 据 库 既 不 支 持 分 页 SQL 也 没 有 提 供 JDBC2 以 上 的 驱 动, 则 会 使 用 JDBC1 的 方 式, 用 resultset.next() 来 跳 过 若 干 纪 录, 来 实 现 读 取 特 定 区 域 的 纪 录 Hibernate 在 延 迟 读 入 大 对 象 处 理 多 表 关 联 等 方 面 都 做 得 比 较 灵 活 和 强 大 难 怪 它 的 支 持 者 人 数 要 比 JDO 的 多 一 些, 成 为 当 前 最 主 流 的 O/R Mapping 技 术 之 一 尽 管 Hibernate 等 ORM 技 术 大 大 提 高 了 我 们 的 生 产 力, 并 使 数 据 库 持 久 层 的 代 码 和 业 务 逻 辑 层 一 样, 符 合 面 向 对 象 的 思 想 但 我 们 还 是 应 该 谨 慎 选 择 和 使 用 ORM 技 术, 并 且 尽 量 小 范 围 地 使 用 这 些 API( 如 仅 在 DAO 实 现 类 中 ), 不 要 让 系 统 受 限 于 当 前 使 用 的 数 据 持 久 技 术 虽 然 很 多 ORM 技 术 都 提 供 本 地 的 高 速 缓 存 和 对 象 延 迟 加 载 来 提 高 性 能, 但 是 有 些 时 候 直 接 使 用 JDBC 或 许 效 率 更 高 另 外, 由 于 Hibernate 比 较 好 地 做 到 了 适 应 各 个 数 据 库, 所 以 对 提 高 应 用 适 应 多 数 据 源 很 有 帮 助 以 下 文 的 Demo 系 统 为 例, 笔 者 最 初 使 用 Linux 上 的 PostgreSQL, 后 来 转 到 MySQL, 最 后 使 用 hsqldb 这 几 次 变 迁 代 码 更 改 的 很 少, 基 本 只 对 Mapping 文 件 和 Hibernate 的 配 置 参 数 做 了 少 量 修 改 底 层 的 JDBC 技 术 往 往 更 有 效 正 如 前 面 说 的, 虽 然 现 在 有 比 较 优 秀 的 ORM 技 术 供 我 们 选 择, 但 并 不 表 示 ORM 优 于 传 统 的 JDBC 技 术, 反 之 亦 然 JDBC 提 供 了 非 常 直 接 也 非 常 有 效 的 方 式 来 和 数 据 库 交 互 有 经 验 的 数 据 库 开 发 人 员 可 以 编 写 出 效 率 极 高 的 SQL 语 句 来 完 成 某 项 工 作, 而 如 果 用 ORM 或 是 朴 素 的 SQL+JDBC 来 做, 或 许 代 码 量 要 高 一 个 数 量 级 不 过, 也 正 如 本 节 一 开 始 所 说 的,JDBC 是 个 比 较 底 层 的 api, 编 出 高 质 量 的 JDBC 代 码, 对 程 序 员 也 是 不 小 的 考 验 我 个 人 比 较 推 荐 使 用 Springframework 的 JDBC 模 块 和 Jakarta commons DbUtils 等 的
7 成 熟 API 来 简 化 我 们 的 工 作. SpringFramework JDBC Support 相 关 的 包 如 下 : 和 Spring 的 其 它 模 块 一 样,jdbc support 使 用 IoC 模 式 来 分 离 数 据 库 资 源 (IoC 模 式 将 在 下 文 详 细 介 绍 ) 使 用 时 首 先 新 建 一 个 org.springframework.jdbc.core.jdbctemplate 对 象, 调 用 它 的 setdatasource (javax.sql.datasource datasource) 方 法 设 置 数 据 源 一 般 我 们 使 用 JNDI 来 获 取 容 器 中 的 数 据 源, 在 没 有 容 器 的 情 况 下 可 以 使 用 类 似 Jakarta Commons DBCP 这 样 的 本 地 连 接 池 来 建 立 数 据 源 数 据 读 写 需 要 调 用 对 应 的 query 或 execute 方 法 JdbcTemplate 主 要 实 现 了 JdbcOperations 方 法, 提 供 简 单 到 复 杂 的 数 据 读 写 方 法
8 实 例 下 面 举 几 个 例 子, 演 示 它 的 用 法 数 据 表 user(id,name,age) id 为 int 型 主 键,name 为 char(10), age 为 int 型 查 询 指 定 id 用 户 的 年 纪 int getage(int userid){ } return jdbctemplate.queryforint("select age from user where id="+userid); 得 到 所 有 用 户 名 String[] getallusername(){ return (String[]) jdbctemplate.query( "select name from user",new ResultSetExtractor(){ public Object extractdata(resultset rs) throws SQLException{ List list=new ArrayList(); while(rs.next()){
9 } }); list.add(rs.getstring(1)); } return list.toarray(new String[list.size()]); } 可 以 看 到 这 个 api 提 供 的 jdbc 封 装 比 较 灵 活 并 很 通 用, 使 得 原 本 复 杂 冗 余 的 JDBC 代 码 变 成 直 白 而 简 洁, 这 便 是 善 用 设 计 模 式 的 结 果 (Spring 的 jdbc 实 用 类 大 量 使 用 Template Builder Command Strategy 等 设 计 模 式 ) Spring 对 SQLException 的 封 装 另 外 值 得 一 提 的 是 Spring 对 SQLException 的 封 装 org.springframework.dao.dataaccessexception 是 Spring 中 的 RuntimeException, 作 为 数 据 访 问 相 关 异 常 exception 继 承 树 的 根 Spring 对 SQLException 和 HibernateException 等 异 常 作 了 封 装, 统 一 成 DataAccessException 这 样 在 DAO 中 可 以 只 抛 出 这 个 异 常 ( 及 其 子 类 ), 而 不 会 抛 出 SQLExcception/HibernateException 等 具 体 API 的 异 常 runtime exception vs. checked exception 把 它 设 计 成 Runtime Exception 而 不 是 常 见 的 Checked Exception, 这 也 是 经 过 仔 细 考 虑 的 对 于 RuntimeException 及 其 子 类, 不 要 求 代 码 中 显 式 地 try/catch 如 我 们 经 常 遇 到 的 NullPointerException 和 NumberFormatException 便 是 RuntimeException 假 设 他 们 是 checked exception, 那 么 我 们 编 写 任 何 一 行 对 象 的 操 作 都 要 显 式 地 try/catch 即 使 在 我 们 很 明 确 不 会 出 问 题 的 情 况 下 如 String s="a"; System.out.println(s.length()); 如 果 NullPointerException 是 checked exception, 则 我 们 就 不 得 不 写 成 : String s="a"; try{ System.out.println(s.length()); }catch(nullpointerexception e){ } //never happen 这 样 是 罗 嗦 而 不 合 理 的 对 于 RuntimeException 与 Checked Exception 的 取 舍 一 直 是 Java 社 区 讨 论 的 话 题 我 比 较 赞 同 类 似 SrpingFramework 开 发 人 员 的 观 点 尽 量 把 异 常 设 计 成 RuntimeException, 免 去 代 码 中 无 谓 的 try/catch block, 因 为 很 多 时 候 我 们 都 无 法 在 异 常 发 生 后 挽 回 什 么 当 然 不 能 让 一 个 程 序 因 为 一 个 小 小 的 异 常 ( 如 NumberFormatException) 而 非 正 常 退 出 应 该 在 某 些 地 方 统 一 进 行 异 常 的 处 理 这 样 的 代 码 不 会 有 安 全 的 隐 患 也 更 简 洁 当 然 Checked Exception 在 某 些 情 形 下 也 是 正 确 的 选 择, 主 要 是 异 常 很 容 易 发 生, 或 者 异 常 的 内 容 或 抛 出 异 常 本 身 可 以 认 为 是 方 法 的 一 种 返 回 结 果 Spring 通 过 SQLException 的 语 义 来 决 定 包 装 成 什 么 DataAccessException 的 子 类 以 往 我 们 用 JDBC 直 接 读 取 数 据, 遇 到 的 异 常 都 是 SQLException, 无 论 是 主 键 冲 突, 还 是 超 出 列 宽, 或 是 SQL 语 法 错 误 而 使 用 Spring 的 JDBC Support, 我 们 面 对 的 是 更 有 意 义 的 异 常, 如 TypeMismatchDataAccessException
10 OptimisticLockingFailureException InvalidDataAccessApiUsageException 等 下 图 为 其 完 整 的 继 承 树 如 此 丰 富 的 继 承 树 有 助 于 我 们 进 行 集 中 的 异 常 处 理 从 实 现 上 来 说,SpringFramework 采 集 了 各 个 数 据 库 的 不 同 SQL Error Code, 在 遇 到 SQLException 时 分 析 其 error code, 包 装 成 对 应 的 特 定 异 常 类 另 外 在 在 执 行 不 同 方 法 时 抛 出 的 SQLException 也 揭 示 了 异 常 的 语 义, 也 有 助 于 SpringFramework 更 好 的 完 成 异 常 的 分 类 和 包 装 多 数 据 源 数 据 库 固 然 是 项 目 的 基 石, 但 很 多 时 候 我 们 需 要 先 收 集 和 整 理 数 据 原 始 的 数 据 可 能 来 自 另 一 个 数 据 库, 或 是 一 些 Excel 表 格 或 txt 文 件, 或 需 要 监 听 某 一 端 口 定 时 产 生 的 数 据 对 于 一 种 情 形 : 原 始 数 据 不 需 要 或 是 不 能 保 存 在 数 据 库, 我 们 可 以 采 用 DAO 模 式 来 屏 蔽 这 种 差 异 还 是 原 先 那 个 用 户 信 息 的 例 子, 如 果 数 据 保 存 在 xml 或 是 excel 或 是 txt 文 件 中, 我 们 编 写 的 DAO 实 现 类 只 要 使 用 对 应 的 api 读 取 这 些 数 据 如 果 数 据 比 较 少, 可 以 一 次 性 读 到 内 存 ( 如 DAO 实 现 类 的 finduserbyid 被 调 用 时, 直 接 从 内 存 中 检 索 数 据 ) 如 果 数 据 量 比 较 大, 则 可 能 需 要 每 次 去 访 问 一 次 数 据 源 当 然 这 是 比 较 少 见 的 情 况, 更 多 时 候 我 们 还 是 需 要 设 计 数 据 采 集 模 块, 将 原 始 数 据 导 入 数 据 库, 如 有 必
11 要 还 需 要 把 更 新 过 的 数 据 再 写 回 原 始 数 据 源 虽 然 这 项 工 作 与 具 体 的 业 务 需 求 比 较 紧 密, 没 有 特 别 通 用 的 解 决 方 法, 但 通 过 良 好 的 设 计 还 是 可 以 达 到 一 定 程 度 的 通 用 附 录 A 中 是 我 曾 为 一 个 实 际 项 目 的 数 据 采 集 做 的 设 计, 仅 作 参 考 Web 层 Web 是 J2EE 项 目 最 常 见 的 表 现 方 式, 如 何 设 计 和 开 发 出 高 质 量 的 Web 也 是 摆 在 开 发 人 员 面 前 的 难 题 目 前 开 发 Web 的 一 些 困 难 是 : Web 界 面 经 常 变 化 如 经 常 需 要 变 化 一 些 页 面 布 局 图 片 或 样 式 表, 但 不 一 定 改 变 工 作 流 程 成 功 的 应 用 可 以 接 受 这 些 修 改 而 不 需 修 改 业 务 对 象 设 置 Web 层 的 控 制 代 码 Web 界 面 中 涉 及 复 杂 的 标 签 典 型 的 动 态 网 页 中 嵌 有 大 量 的 表 格, 冗 长 的 JavaScript 以 及 用 可 视 化 工 具 生 成 的 HTML 代 码 ( 往 往 难 以 阅 读 ) 一 般 只 有 相 当 少 部 分 的 内 容 是 动 态 的 优 秀 的 Java 开 发 人 员 也 没 有 必 要 掌 握 全 面 的 页 面 制 作 和 美 工 技 能, 这 些 工 作 应 该 由 专 业 的 页 面 制 作 和 美 工 人 员 完 成 Web 开 发 与 普 通 GUI 开 发 很 不 相 同 Web 开 发 所 强 调 的 是 请 求 和 响 应, 请 求 中 只 能 带 有 String 型 的 参 数, 页 面 上 用 户 的 输 入 往 往 无 法 控 制, 无 法 限 制 用 户 按 一 定 顺 序 访 问 网 页, 而 相 反 的 是, 传 统 的 GUI 提 供 丰 富 的 控 制 和 自 定 义 控 制 的 功 能 Web 的 测 试 比 较 困 难 Web 开 发 也 是 一 个 很 大 的 话 题, 无 法 在 这 么 短 的 篇 幅 内 讨 论 很 多, 限 于 个 人 经 验, 也 无 法 开 展 很 有 深 度 和 广 度 的 探 讨 以 我 对 一 些 原 则 和 技 术 及 框 架 的 理 解, 一 个 良 好 的 Web 开 发 模 式 应 该 能 满 足 以 下 几 点 : 页 面 内 容 和 显 示 分 离 一 组 数 据, 原 先 显 示 成 html table, 现 在 要 求 显 示 成 柱 状 图 或 饼 状 图, 这 种 需 求 变 更 应 该 只 需 修 改 前 台 很 少 的 代 码 页 面 技 术 现 在 有 很 多, 常 见 的 JSP 是 一 种,Velocity 应 用 也 比 较 广 泛, 类 似 的 还 有 FreeMarker Tiles XML/XLST XMLC 等 选 择 何 种 显 示 技 术, 对 后 台 的 影 响 应 尽 可 能 的 小 另 外 Web 框 架 应 该 能 比 较 好 地 支 持 PDF Excel Word 等 视 图 的 生 成 Web 层 的 控 制 代 码 不 应 处 理 业 务 逻 辑 Web 只 是 系 统 的 表 现 层, 核 心 的 处 理 逻 辑 应 该 封 装 在 Bean 或 者 EJB 中, 而 Web 只 是 接 收 和 处 理 请 求, 把 合 适 的 请 求 转 为 向 核 心 业 务 模 块 的 调 用 如 果 较 好 地 完 成 这 一 点,Web 层 便 比 较 轻 量 和 细 薄, 业 务 逻 辑 的 内 部 实 现 变 化 并 不 会 更 改 Web 层 的 控 制 代 码 和 显 示 甚 至 从 一 个 B/S 架 构 转 为 C/S 也 是 可 行 的 对 多 语 言 的 支 持, 对 上 传 的 支 持 等 MVC 的 Web 开 发 方 式 MVC 是 开 发 Web 一 种 主 流 的 模 式, 它 良 好 地 分 离 了 视 图 控 制 和 数 据 朴 素 的 JSP 开 发 的 模 式 可 能 是 这 样 的
12 使 用 JavaBean 甚 至 标 签 库 以 及 Servlet Filter 和 Servlet Listener 可 以 一 定 程 度 上 把 逻 辑 从 jsp 中 分 离 出 来, 但 只 解 决 了 少 量 的 问 题, 我 们 还 得 处 理 流 程 控 制 验 证 更 新 应 用 程 序 状 态 等 事 情 MVC 通 过 把 问 题 分 为 三 个 类 别 来 帮 助 解 决 单 一 模 块 所 遇 到 的 某 些 问 题 Model( 模 型 ) 包 含 应 用 程 序 的 核 心 功 能 模 型 封 装 了 应 用 程 序 的 状 态, 它 对 视 图 或 控 制 器 一 无 所 知 模 型 表 示 业 务 数 据, 或 者 业 务 逻 辑 View( 视 图 ) 提 供 模 型 的 标 识 它 是 应 用 程 序 的 外 观, 使 用 户 看 到 并 与 之 交 互 的 界 面, 视 图 可 以 访 问 模 型 的 读 方 法, 但 不 能 访 问 写 方 法 此 外, 他 对 控 制 器 一 无 所 知 当 更 新 模 型 时, 通 知 和 修 改 视 图 Controller( 控 制 器 ) 控 制 器 对 用 户 的 请 求 / 输 入 作 反 应, 它 创 建 并 设 置 模 型, 选 择 要 显 示 的 视 图 设 计 一 个 良 好 的 MVC Web 框 架 是 件 艰 巨 的 任 务, 好 在 目 前 已 经 有 不 少 现 成 的 技 术, 如 Struts WebWork Maverick 其 中 Struts 可 能 是 出 现 时 间 最 早 使 用 也 最 多 的 MVC 框 架 不 过 我 在 这 里 介 绍 的 是 SpringFramework 中 的 WebMVC 因 为 通 过 比 较, 我 觉 得 Spring 在 某 些 方 面 要 比 Struts 更 灵 活 和 强 大 一 些, 对 Servlet API 甚 至 框 架 本 身 的 依 赖 性 都 比 较 小 SpringFramework WebMVC SpringFramework WebMVC 的 基 本 控 制 流 如 下 :
13 说 明 : 在 接 受 一 个 HTTP 请 求 后, 根 据 web.xml 中 的 配 置, 请 求 会 交 给 一 个 org. springframework.web.servlet.dispatcherservlet, 这 是 一 个 通 用 的 Servlet, 并 不 处 理 实 际 的 工 作 正 如 名 字 所 暗 示 的, 它 把 请 求 dispatch( 转 交 ) 给 其 他 对 象, 并 返 回 最 后 的 结 果 这 个 类 控 制 了 MVC 的 主 要 流 程 和 其 他 MVC 框 架 一 样, 一 个 Spring WebMVC 的 应 用 需 要 一 个 或 多 个 配 置 文 件 DispatcherServlet 会 调 用 当 前 的 HandlerMapping, 获 知 当 前 的 请 求 应 该 由 哪 个 Controller 处 理 由 上 面 的 UML 图 可 以 知 道, 除 了 DispatcherServlet, 其 他 的 几 个 主 要 对 象 都 是 接 口 而 非 具 体 类 SpringFramework 大 量 使 用 面 向 接 口 的 设 计, 这 一 点 我 将 在 下 文 介 绍 Spring 的 体 系 结 构 时 谈 到 在 获 知 应 该 由 哪 个 Controller 处 理 请 求 后, 便 调 用 该 Controller 的 handlerequest 方 法, 这 也 是 Controller 接 口 唯 一 必 须 实 现 的 方 法 而 Spring 提 供 了 很 多 内 建 的 Controller 子 类, 可 以 更 好 的 完 成 任 务 和 简 化 开 发, 如 常 用 的 MultiActionController 可 以 让 多 个 url 执 行 该 controller 的 不 同 方 法 handlerequest 的 返 回 结 果 是 一 个 ModelAndView 对 象, 同 时 包 括 了 JavaBean 风 格 的 Model 和 一 个 View 的 信 息 Spring 中 Model 和 View 分 的 很 清 楚, 这 里 出 现 的 ModelAndView 类 只 是 限 于 Java 语 法, 便 于 一 个 方 法 返 回 两 个 对 象 Model 是 一 些 普 通 的 Java 对 象, 每 个 对 象 有 个 字 符 串 作 为 标 示 一 般 来 说, 这 些 Model 会 使 用 request.setattribute(key,value) 来 绑 定 到 request 中, 供 view 来 使 用 但 是 Spring 的 设 计 者 充 分 考 虑 了 别 的 可 能 性, 比 如 我 们 如 果 选 用 Velocity 或 是 XMLC 作 为 前 台 的 显 示 技 术, 它 们 未 必 使 用 request.getattribute 来 获 取 数 据 如 Velocity 在 Spring 得 到 ModelAndView 后, 会 在 VelocityView 这 个 类 中, 把 Model 放 入 context 中, 供 VelocityEngine 来 整 合 数 据 这 一 点 上,Spring 就 要 比 Struts 灵 活 些,Struts 由 于 仅 关 注 JSP, 所 以 在 Struts 的 Controller 中 需 要 手 动 把 Model 一 个 个 set 到 request 中, 不 但 增 加 了 程 序 员 的 负 担, 也 为 日 后 从 JSP 转 成 别 的 显 示 技 术 留 下 了 隐 患 从 ModelAndView 中 分 离 Model 和 View 后,Spring 需 要 把 View 转 成 一 个 具 体 的 显 示 在 ModelAndView 中,View 往 往 是 一 个 字 符 串 或 是 某 个 子 类 加 上 一 个 名 字, 如 new RedirectView( a.htm ) Spring 调 用 ViewReslover 来 把 这 样 的 标 识 转 为 View 对 象 默 认 的 ViewReslover 是 InternalResourceViewResolver, 也 就 是 以 webapp 中 的 相 对 路 径 作 为 view 的 名 字 view 也 可 以 有 很 多 别 的 reslover, 如
14 ResourceBundleViewResolver 会 根 据 当 前 的 locale 选 择 一 个 view 这 样, 同 一 个 显 示 界 面, 让 美 国 人 和 中 国 人 看 到 不 同 的 页 面 布 局 是 可 能 的 由 于 使 用 用 一 份 数 据 (Model), 所 以 这 一 层 控 制 放 在 view 的 选 择 器 也 就 是 ViewReslover 中 是 合 理 的 最 后, 每 个 View 都 有 一 个 render 方 法, 根 据 Model, 以 及 HTTP request 和 response 对 象 来 生 成 最 后 的 输 出 Spring 内 置 很 多 View 的 子 类, 如 JstlView AbstractExcelView AbstractPdfView AbstractXsltView 等 除 了 这 个 基 本 的 MVC 框 架,SpringWeb 还 提 供 很 多 其 他 的 功 能, 如 JavaBean 的 绑 定 也 就 是 用 户 通 过 表 单 输 入 的 内 容, 可 以 由 Spring 来 自 动 bind 成 对 应 的 Java 对 象, 提 交 给 Controller, 而 避 免 以 往 复 杂 表 单 处 理 通 过 request.getparameter 把 一 个 个 参 数 取 出 再 处 理 不 同 于 Strurts 中 的 ActionForm,Spring 支 持 的 这 种 表 单 对 象 是 JavaBean, 因 而 业 务 系 统 中 的 domain object 可 以 直 接 在 Web 中 使 用 Spring 也 提 供 独 立 于 Web 也 独 立 于 Spring Framework 的 验 证 器, 供 Controller 处 理 表 单 前 验 证 有 效 性 另 外 一 个 有 别 于 Struts 的 是,Spring 没 有 提 供 Struts 那 么 多 自 定 义 标 签 用 于 表 单 组 件, 而 是 使 用 HTML 中 的 固 有 标 签 如 <input type= text > 来 作 为 输 入, 在 它 外 面 套 上 Spring 的 bind 标 签, 用 于 把 该 输 入 与 JavaBean 的 某 一 个 字 段 相 绑 定 第 二 部 分 中 会 有 更 深 入 的 介 绍 此 外,SpringWeb 对 多 语 言 多 主 题 的 支 持 也 比 较 好 用 户 可 以 在 浏 览 页 面 时 随 时 更 改 界 面 语 言 和 显 示 风 格 另 外 Spring 支 持 对 页 面 的 cache 处 理, 通 过 简 单 的 设 置, 可 以 在 Framework 中 透 明 的 完 成 对 view 的 cache
15 另 外,Spring 对 上 传 的 支 持 也 比 较 新 颖 目 前 有 不 少 用 于 servlet 的 上 传 api, 如 JakartaCommons FileUpload,O Reilly 的 cos upload 和 JSP SmartUpload 等 在 Spring 中, 可 以 在 其 特 定 的 配 置 文 件 中 声 明 使 用 何 种 上 传 组 件, 在 实 际 处 理 含 有 input type= file 的 表 单 时, 直 接 可 以 把 HttpRequest 强 制 转 换 为 MultipartHttpServletRequest, 使 用 其 getfile 方 法 得 到 上 传 数 据, 而 不 用 以 往 复 杂 的 流 处 理 更 详 细 的 Spring Web 的 介 绍 可 参 见 相 关 网 站 和 资 料, 本 文 的 第 二 部 分 使 用 了 Spring 和 其 他 技 术 完 成 了 一 个 小 型 的 网 站, 通 过 阅 读 其 源 码, 可 以 对 Spring 有 个 更 直 观 的 认 识 SpringFramework 的 简 单 介 绍 在 前 面 不 少 的 模 块 中, 我 都 提 到 了 SpringFramework, 这 是 一 个 比 较 新 的 开 源 框 架 在 我 第 一 次 看 到 它 后 便 被 它 深 深 吸 引, 因 为 很 少 有 一 个 项 目 可 以 像 它 那 样 为 Java/J2EE 的 开 发 提 供 强 有 力 的 基 础 架 构, 同 时 又 提 供 丰 富 的 实 用 类 和 扩 展 Java 目 前 有 很 多 第 三 方 api 和 Framework, 但 它 们 往 往 专 注 于 Java/J2EE 项 目 很 小 的 一 部 分, 如 Struts 基 本 上 只 是 一 个 Web 应 用 框 架,Hibernate 是 一 个 持 久 层 技 术 而 SpringFramework 被 称 作 J2EE 的 软 总 线 (soft bus), 不 但 在 一 些 细 节 上 为 我 们 提 供 帮 助, 更 在 全 局 上 令 J2EE 项 目 具 有 很 高 的 灵 活 度 Goal of SpringFramework 在 具 体 介 绍 Spring 之 前, 先 提 一 下 SpringFramework 希 望 解 决 的 问 题 让 J2EE 开 发 变 的 简 单 易 用 业 务 应 用 不 依 靠 spring API 集 成 已 存 在 的 成 熟 应 用 解 决 方 案 利 用 面 向 对 象 的 优 秀 技 术 促 进 良 好 的 编 程 习 惯 让 测 试 业 务 应 用 变 得 简 单 快 速 有 效 地 组 织 你 的 中 间 层 对 象 消 除 各 式 各 样 的 配 置 文 件 将 面 对 接 口 编 程 做 到 实 处 自 由 不 依 赖 框 架 统 一 的 数 据 存 储 方 式 只 选 择 你 需 要 的 这 里 着 重 指 出 几 个 观 点, 我 认 为 它 们 是 Spring 成 功 的 主 要 原 因, 也 是 大 型 J2EE 应 用 项 目 成 功 的 要 点 利 用 面 向 对 象 的 优 秀 技 术 面 向 对 象 技 术 虽 然 不 是 解 决 一 切 问 题 的 神 兵 利 器, 但 确 实 可 以 令 我 们 的 解 决 方 案 得 到 比 较 大 的 益 处 面 向 对 象 所 追 求 的 松 散 耦 合, 对 象 封 装 正 是 我 们 面 对 复 杂 需 求 的 应 对 之 策 这 一 点 课 堂 和 不 少 书 籍 上 都 有 表 述, 但 在 实 际 项 目 的 历 练 中 才 会 愈 发 明 白 面 向 对 象 带 来 的 好 处 一 定 程 度 上, 一 个 好 的 面 向 对 象 设 计 带 来 好 的 应 用 解 决 方 案, 往 往 也 包 括 好 的 性 能 然 而 有 的 时 候 我 们 并 不 是 从 面 向 对 象 出 发 来 进 行 设 计 和 开 发 的, 一 个 典 型 的 情 形 就 是 EJB 等 复 杂 J2EE
16 技 术 的 使 用 往 往 我 们 会 陷 入 这 样 的 误 区 从 一 个 J2EE 的 视 角 来 分 析 和 解 决 问 题 : 面 对 一 些 用 例, 首 先 去 考 虑 应 该 用 哪 些 Bean(EJB) 来 处 理 但 其 实 EJB 中 一 些 特 性 是 和 面 向 对 象 相 悖 的 它 是 比 较 大 粒 度 的 组 件, 组 件 和 组 件 间 缺 乏 一 般 对 象 间 丰 富 的 关 系, 如 继 承 和 引 用 而 且 EJB 的 其 他 限 制 ( 如 不 能 新 建 线 程 获 取 本 地 资 源 等 ) 都 会 影 响 我 们 正 常 地 面 向 对 象 设 计 我 比 较 赞 同 的 做 法 是, 面 对 一 个 应 用 情 形, 首 先 使 用 传 统 的 面 向 对 象 方 法 进 行 分 析 和 设 计, 如 果 有 必 要 把 部 分 功 能 以 特 定 的 技 术 暴 露 出 来, 如 EJB EJB 等 J2EE 中 重 量 级 的 技 术 目 前 正 接 受 挑 战 这 里 就 不 再 赘 述, 有 兴 趣 的 可 以 在 网 上 找 到 相 关 的 讨 论 将 面 对 接 口 编 程 做 到 实 处 正 像 前 面 我 们 讨 论 多 数 据 库 和 多 数 据 源 时 使 用 的 DAO 模 式 一 样, 面 向 接 口 编 程 ( 而 不 是 具 体 类 ) 可 以 使 我 们 的 设 计 更 为 灵 活, 隐 藏 底 层 实 现 Spring 中 非 常 鼓 励 我 们 面 向 接 口 编 程, 我 们 保 留 一 个 对 接 口 的 引 用 而 非 具 体 类, 这 样 我 们 可 以 很 方 便 的 从 一 种 实 现 转 为 另 一 种 实 现 另 外 Spring 很 好 的 支 持 AOP(Aspect Oriented Programming), 如 果 面 向 接 口 编 程, 会 意 外 的 获 得 AOP 带 来 的 很 多 好 处 ( 在 第 二 部 分 的 演 示 代 码 中, 我 们 可 以 看 到 基 于 AOP 的 事 务 管 理 和 权 限 控 制 ) Struts 一 定 程 度 上 没 有 很 好 地 做 到 面 向 接 口 编 程, 而 是 用 了 很 多 具 体 继 承, 这 使 得 基 于 Struts 的 应 用 甚 至 Struts 本 身 欠 缺 灵 活 性, 也 不 利 于 测 试 将 单 元 测 试 变 的 简 单 JUnit 为 代 表 的 单 元 测 试 工 具 可 以 大 大 简 化 我 们 的 单 元 测 试 工 作 无 论 是 使 用 极 限 编 程 所 倡 导 的 测 试 驱 动 开 发 (TDD:Test-Driven Development) 还 是 传 统 的 ( 先 设 计, 再 编 码, 然 后 测 试 以 次 迭 代 ), 单 元 测 试 的 使 用 会 大 大 提 高 我 们 开 发 的 质 量 ( 测 试 驱 动 开 发 甚 至 可 以 改 善 我 们 的 设 计, 令 暴 露 的 接 口 更 加 合 理 ) 一 个 复 杂 的 Java/J2EE 项 目, 尤 其 是 核 心 的 业 务 处 理 模 块, 良 好 的 单 元 测 试 会 令 每 个 细 节 都 比 较 健 壮, 这 对 提 高 整 体 的 质 量 降 低 风 险 是 有 益 的 而 前 面 提 到 的 良 好 的 面 向 对 象 设 计 和 面 向 接 口 编 程 会 令 单 元 测 试 变 得 更 简 单, 加 上 Spring 提 供 的 BeanFacotry, IoC Container, 会 令 资 源 的 分 配 更 为 灵 活 即 使 不 启 动 Web Server, 我 们 也 可 以 充 分 测 试 Controller, 甚 至 借 助 Mock 技 术 测 试 与 数 据 库 J2EE Container 相 关 的 模 块 SpringFramework 的 概 貌 下 面 是 SpringFramework 的 概 貌 :
17 Spring Spring ORM Spring Web Spring AOP Web Spring DAO Spring Context MVC Spring Core Supporting utilities, Bean container Spring Core Spring AOP Spring DAO Spring ORM Spring Contex Spring Web Spring Web MVC 主 要 提 供 Bean Factory 和 IoC Container, 以 及 若 干 实 用 类 提 供 运 行 时 的 AOP 支 持 和 源 代 码 级 的 元 数 据 (metadata) 支 持 事 务 支 持,JDBC 包 装 类,DAO 模 式 的 支 持 多 种 常 见 ORM 技 术 的 支 持, 如 JDO Hibernate ibatis 对 JNDI,EJB,JavaMail, 验 证 和 UI 基 于 Web 的 Context, 透 明 的 组 件 上 传,Web 开 发 实 用 类 MVC 框 架,JSP/Excel/Pdf/Xml/Velocity 等 多 种 视 图 技 术 的 支 持 从 上 面 这 张 图 上 可 以 看 到,SpringFramework 的 模 块 性 很 强, 你 可 以 选 择 使 用 它 的 一 个 或 多 个 功 能, 如 仅 使 用 它 的 BeanFactory/IocContainer, 甚 至 只 使 用 它 对 JDBC 的 封 装 如 果 开 发 团 队 中 比 较 熟 悉 Struts, 则 可 以 继 续 使 用 Struts 作 为 Web 框 架, 而 是 用 Spring 提 供 的 JavaBean 管 理 和 事 务 支 持 所 以, 虽 然 Spring 提 供 了 One-Stop Shop 的 服 务, 但 使 用 多 少 完 全 是 开 发 人 员 的 选 择, 这 一 点 上 不 像 一 些 别 的 技 术, 要 么 不 用, 要 么 都 用 BeanFactory 和 IoC 容 器 上 文 提 到 了 BeanFactory 和 IoC 容 器, 这 是 Spring 中 很 重 要 的 一 个 概 念, 是 Spring 的 精 髓 什 么 是 BeanFactory? 经 典 的 Factory 设 计 模 式 分 为 工 厂 方 法 简 单 工 厂 和 抽 象 工 厂 把 创 建 什 么 对 象 怎 么 创 建 的 职 责 从 类 本 身 或 是 客 户 程 序 员 处 转 到 专 门 的 工 厂 类 中, 确 实 提 供 了 更 好 的 封 装 和 重 用 JDK 中 也 随 处 可 见 这 样 的 例 子, 如 SwingAPI 中 的 BorderFactory 但 这 一 设 计 模 式 的 问 题 在 于 工 厂 的 责 任 过 于 重 大 它 需 要 了 解 很 多 被 生 产 类 的 信 息, 这 甚 至 一 定 程 度 上 违 背 了 面 向 对 象 一 个 很 基 本 的 原 则 开 闭 原 则 (Software entities should be open for extension,but closed for modification.) 一 旦 类 发 生 了 改 变 或 是 增 加 了 新 的 类, 往 往 工 厂 也 得 修 改 为 此 有 人 主 张 借 助 Java 强 大 的 反 射 功 能 来 以 不 变 应 万 变, 动 态 生 成 类 的 实 例 比 如 原 本 的 简 单 工 厂 为 public IStuff factory(string name).. if("a".equals(name)) return...
18 } if("b".equals(name)) return.... 使 用 反 射, 可 以 简 化 为 public IStuff factory(string classname).. } Class clazz=class.forname(classname); Object obj=clazz.newinstance(); if(obj instanceof IStuff) return obj;.. 这 样 工 厂 就 只 承 担 简 单 的 类 型 判 断 等 责 任, 足 以 应 付 将 来 的 各 种 变 化 Spring 正 是 把 这 个 简 单 而 有 效 的 想 法 赋 予 更 灵 活 的 实 现 有 一 个 BeanFactory 读 取 配 置 文 件 ( 一 般 是 XML 文 件 ) 按 要 求 新 建 Bean 的 实 例, 并 加 以 维 护 <beans> <bean id="examplebean" class="eg.examplebean"/> <bean id="anotherexample" class="eg.examplebeantwo"/> </beans> 上 面 的 例 子 中 新 建 了 两 个 对 象, 分 别 是 eg.examplebean 和 eg.examplebeantwo 的 两 个 实 例 在 应 用 程 序 中 使 用 下 面 的 代 码 来 访 问 这 两 个 对 象 : InputStream input = new FileInputStream("beans.xml"); BeanFactory factory = new XmlBeanFactory(input); ExampleBean eb =(ExampleBean)factory.getBean("exampleBean"); 默 认 的, 新 建 的 Bean 是 作 为 Singleton 的, 也 就 是 说 系 统 中 所 有 出 现 factory.getbean ("examplebean") 的 地 方 都 返 回 同 一 个 实 例 这 也 是 Spring 所 具 有 的 一 个 特 点 避 免 过 度 的 Singleton 模 式 的 使 用 Singleton 作 为 一 个 简 单 而 有 效 的 模 式, 确 实 被 我 们 经 常 用 到, 但 他 的 问 题 在 于 : Singleton 是 具 体 类, 欠 缺 接 口 的 很 多 优 势 这 一 点 参 见 前 面 提 到 的 面 向 接 口 编 程 的 好 处 Singleton 的 使 用 造 成 难 以 与 接 口 打 交 道, 如 一 个 核 型 的 业 务 是 一 个 接 口, 提 供 多 种 实 现, 而 在 Singleton 中 往 往 需 要 给 出 具 体 的 实 现, 增 加 了 硬 编 码 依 赖 性 每 个 Singleton 需 要 自 己 查 找 它 的 配 置 参 数, 通 过 属 性 JNDI JDBC 等 系 统 如 果 出 现 很 多 Singleton, 会 令 配 置 管 理 不 一 致, 并 每 个 Singleton 中 保 留 了 与 业 务 逻 辑 不 相 关 的 大 量 关 于 配 置 的 代 码 上 述 问 题, 使 用 BeanFactory 可 以 得 到 较 好 的 解 决 因 为 Spring 提 供 统 一 而 强 大 的 语 法, 在 配 置 文 件 中 统 一 进 行 Singleton 的 建 立 可 以 新 建 一 个 Bean, 它 是 实 现 某 个 接 口 的 具 体 类 的 实 例, 而 把 它 赋 给 另 一 个 Bean, 后 者 的 方 法 中 只 要 求 一 个 接 口 的 对 象, 因 而 不 关 心 前 者 具 体 的 类 型 这 样, 在 必 要 时 我 们 只 需 要 改 变 前 者 的 类 名, 不 需 要 改 变 Bean 的 ID, 也 不 需 要 改 变 后 者 的 配 置 和 代 码, 便 完 成 了 内 部 实 现 方 法 的 改 变 这 也 是 面 向 接 口 编 程 在 Spring 的 体 现 在 运 行 时 新 建 类, 如 有 必 要 可 以 在 第 一 次 访 问 Singleton 时 新 建 实 例, 得 到 少 量 的 性 能 收 益
19 除 了 Singleton 模 式 的 新 建,BeanFactory 也 支 持 prototype, 也 就 是 按 配 置 为 模 版, 每 次 访 问 getbean 时 访 问 一 个 相 同 内 容 的 对 象, 这 在 有 时 候 也 是 有 必 要 的 需 要 指 出 的,Spring 的 基 础 是 BeanFactory, 但 是 上 层 的 应 用 可 以 对 这 个 细 节 不 关 心, 也 就 是 我 们 在 使 用 Spring 做 应 用 时, 可 以 不 去 调 用 getbean 这 些 底 层 的 方 法 比 如 在 第 二 部 分 的 Demo 中, 我 们 的 Web 应 用 就 是 使 用 Spring Web MVC, 没 有 直 接 接 触 BeanFactory 什 么 是 IoC? IoC,Inversion of Control 现 在 被 正 式 更 名 为 Dependency Injection 这 其 实 也 是 一 个 很 简 单 的 模 式, 具 体 例 子 便 会 了 解 到 他 的 简 单 和 实 用 比 如 我 们 需 要 在 一 个 类 中 调 用 一 个 EJB 的 一 个 方 法 一 种 做 法 是 在 这 个 类 中 ( 类 名 比 如 是 Foo), 创 建 context, 给 出 连 接 应 用 服 务 器 的 一 些 参 数, 然 后 lookup home interface, 再 create 一 个 远 程 对 象, 调 用 远 程 方 法 而 使 用 IoC 模 式 的 Foo 类 格 外 简 单 public class Foo.. } private RemoteInterfaceOfEJB bean; public void setbean(remoteinterfaceofejb ejb){this.bean=ejb;} public void foobar().. } bean.invokesomeop(); 可 以 看 到 新 的 Foo 中 省 去 了 大 量 查 找 资 源 或 是 释 放 资 源 的 代 码, 而 是 依 赖 外 界 给 它 提 供 EJB 的 远 程 接 口 直 接 调 用 这 样 Foo 中 的 责 任 更 加 清 晰, 对 我 们 开 发 和 维 护 都 有 好 处 那 么 这 个 EJB 应 该 由 谁 创 建 和 维 护 呢, 答 案 是 IoC Container SpringFramework 就 提 供 了 这 样 一 个 IoC Container, 用 户 接 口 就 是 前 面 提 到 的 BeanFactory 对 于 IoC 的 各 种 变 种 和 深 层 次 讨 论, 限 于 篇 幅 不 在 此 讨 论, 有 兴 趣 的 可 以 查 看 相 关 书 籍 和 网 上 的 讨 论 除 去 BeanFactory IoC,Spring 还 有 很 多 重 要 的 部 分, 就 像 前 面 的 整 体 架 构 图 中 看 到 那 样 不 过 限 于 篇 幅, 就 不 再 一 一 介 绍 了 SpringFramework 本 身 已 经 提 供 很 多 框 架 性 的 支 持 和 不 少 的 实 用 类, 它 也 在 积 极 地 改 进 和 发 展 中, 并 有 不 少 项 目 支 持 和 扩 展 Spring, 如 基 于 Spring 的 Rich Client Platform 和 权 限 框 架, Spring 的 IDE 插 件,Microsoft.Net 平 台 的 SpringFramework 移 植 等 在 第 二 部 分 中, 我 们 会 演 示 如 何 使 用 Spring 和 其 他 优 秀 的 技 术 完 成 一 个 实 际 的 项 目 最 后, 给 出 基 于 Spring 的 若 干 技 术 构 架
20 Spring 技 术 构 架 Power the whole application with Spring
21 Integrate with third-party web application frameworks
22 Use Spring to manage EJBs Remoting through SOAP, RMI, Web services
23 参 考 资 料 Expert One-on-One: J2EE Design and Development by Rod Johnson(Wrox, ) 第 二 部 分 Demo 系 统 附 录 A
untitled
-JAVA 1. Java IDC 20 20% 5 2005 42.5 JAVA IDC JAVA 60% 70% JAVA 3 5 10 JAVA JAVA JAVA J2EE J2SE J2ME 70% JAVA JAVA 20 1 51 2. JAVA SUN JAVA J2EE J2EE 3. 1. CSTP CSTP 2 51 2. 3. CSTP IT CSTP IT IT CSTP
More informationuntitled
JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE
More information计算机软件技术专业教学计划
计 算 机 软 件 技 术 专 业 人 才 培 养 方 案 ( 服 务 外 包 方 向 ) 专 业 大 类 名 称 ( 代 码 ):++(++) 专 业 类 名 称 ( 代 码 ):++++++(++++) 专 业 名 称 ( 代 码 ):+++++++(++++++) 修 业 年 限 : 三 年, 全 日 制 招 生 对 象 : 三 年 制 普 通 高 中 及 对 口 中 职 专 业 毕 业 生
More information优迈科技教学大纲2009版本
java 软 件 工 程 师 培 训 教 学 大 纲 1 JAVA 软 件 工 程 师 培 训 教 学 大 纲 深 圳 软 件 园 人 才 实 训 基 地 2009 年 3 月 目 录 java 软 件 工 程 师 培 训 教 学 大 纲 2 教 学 阶 段...3 第 一 章 JAVA 起 步...3 第 二 章 面 向 对 象 的 编 程...4 第 三 章 数 据 结 构 IO 线 程 网 络...5
More informationuntitled
653 JAVA 2008 11 Institution of Software Engineer... 2... 4... 4... 5... 5... 8... 8... 8... 8... 8... 9... 9... 9... 11... 13... 13... 13... 13... 15... 15... 15... 15... 16... 16... 17... 17... 17...
More informationJ2ME ISBN J2ME MIDP MIDP 2.0 API J2ME Netbeans IDE 4.1 Mobility Pack 4.1 MIDlet MIDlet MIDP PUSH API PDA API Ja
Java JBuilder 2005 2005 6 ISBN 7-121-01166-2 69.00 1 688 JBuilder JBuilder 2005 JBuilder JBuilder 2005 JBuilder 2005 Java Java Java JBuilder 17 J2ME 2006 1 ISBN 7-121-02210-9 39.00 1 436 J2ME MIDP MIDP
More informationEJB-Programming-3.PDF
:, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client
More informationTopTest_Adminstrator.doc
壹 前 言... 3 貳 系 統 簡 介... 4 一 TKB multimedia Top-Test 系 統 架 構...4 1. 使 用 者 介 面 層 (Presentation tier)...5 2. 商 業 邏 輯 層 (business logic tier)...5 3. 資 料 服 務 層 (data services tier)...5 二 TKB Multimedia Top-Test
More information目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX
BPMX3 技 术 白 皮 书 业 务 流 程 开 发 平 台 介 绍 目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX3... 5 2.2.1 BPMX3
More information软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式... 6 1. 软 件 工 程 专 业 课 程 类 型...7
计 算 机 系 软 件 工 程 专 业 习 指 南 广 东 科 技 院 计 算 机 系 2015-9-1 软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式... 6 1. 软 件 工 程 专 业 课 程 类 型...7
More information北京北信源软件股份有限公司招股书(申报稿)
qimingengz 31 创 业 板 投 资 风 险 提 示 本 次 股 票 发 行 后 拟 在 创 业 板 市 场 上 市, 该 市 场 具 有 较 高 的 投 资 风 险 创 业 板 公 司 具 有 业 绩 不 稳 定 经 营 风 险 高 退 市 风 险 大 等 特 点, 投 资 者 面 临 较 大 的 市 场 风 险 投 资 者 应 充 分 了 解 创 业 板 市 场 的 投 资 风 险 及
More informationEJB-Programming-4-cn.doc
EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session
More information基于CDIO一体化理念的课程教学大纲设计
Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授
More informationUntitled
Spring 4.0.0 spring-framework-reference QQ 413615763 Weibo le Email not-three@foxmail.com 2013.12.16 2.2 2013.12.17 2.3 : 2013.12.18 2.3 : 2013.12.18 2.3 :- Commons Logging Spring Spring Spring IoC StrutsHibernate
More informationPowerPoint Presentation
数 字 化 校 园 信 息 平 台 解 决 方 案 杭 州 正 方 电 子 工 程 有 限 公 司 2007.10 杭 州 正 方 电 子 工 程 有 限 公 司 简 介 正 方 公 司 成 立 于 1999 年 1 月 份, 现 有 员 工 170 多 名, 是 经 相 关 机 构 认 定 的 高 新 技 术 企 业 软 杭 件 企 州 业 正, 取 方 得 电 计 算 子 机 工 软 件 程 著
More informationIoC容器和Dependency Injection模式.doc
IoC Dependency Injection /Martin Fowler / Java Inversion of Control IoC Dependency Injection Service Locator Java J2EE open source J2EE J2EE web PicoContainer Spring Java Java OO.NET service component
More information目 录 目 录... 2 1 平 台 概 述... 3 2 技 术 架 构... 4 3 技 术 特 点... 7 3.1 基 于 统 一 平 台 的 多 产 品 线 支 撑... 7 3.2 先 进 性... 7 3.3 安 全 性... 7 3.4 开 放 性... 8 3.5 高 性 能 和
致 远 协 同 管 理 软 件 V5 平 台 白 皮 书 北 京 致 远 协 创 软 件 有 限 公 司 2014 年 6 月 1 / 20 目 录 目 录... 2 1 平 台 概 述... 3 2 技 术 架 构... 4 3 技 术 特 点... 7 3.1 基 于 统 一 平 台 的 多 产 品 线 支 撑... 7 3.2 先 进 性... 7 3.3 安 全 性... 7 3.4 开 放
More information服 务 类 采 购 公 开 招 标 文 件 项 目 名 称 : 广 东 环 境 保 护 工 程 职 业 学 院 教 育 信 息 系 统 软 件 采 购 项 目 广 东 环 境 保 护 工 程 职 业 学 院 发 布 日 期 :2015 年 8 月 28 日 目 录 第 一 部 分 投 标 邀 请 函...3 第 二 部 分 采 购 项 目 内 容...7 第 三 部 分 投 标 人 须 知...26
More information职 位 类 别 : 测 试 工 程 师 工 作 经 验 或 实 习 经 历 : 不 限 岗 位 要 求 : 1. 本 科 及 其 以 上 学 历, 计 算 机 相 关 专 业 2014 届 毕 业 生 ; 2. 实 习 时 间 要 求, 尽 量 一 周 五 个 工 作 日 ; 3. 熟 悉 Wind
企 业 信 息 表 公 司 名 称 : 中 铁 信 安 ( 北 京 ) 信 息 安 全 技 术 有 限 公 司 公 司 性 质 : 国 企 控 股 公 司 规 模 : 100 人 左 右 所 属 行 业 : 互 联 网 计 算 机 软 件 招 聘 人 数 :12 工 作 地 点 : 北 京 市 海 淀 区 公 司 能 够 提 供 的 福 利 : 五 险 一 金 晋 升 旅 游 节 假 日 礼 物 加
More information(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit
Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How
More information声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工
Shenzhen WitSoft Information Technology Co., Ltd. 主 办 券 商 二 〇 一 六 年 二 月 声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本
More informationFAQ -PowerDesigner9.5.DOC
PowerDesigner 9.5 FAQ 1. PowerDesigner PowerDesigner PowerDesigner (CASE Tool,Computer Aided Software Engineering) PowerDesigner 1989 9.5 2. PowerDesigner PowerDesigner Internet ( Java) PowerDesigner 7.0
More information1. 2. Flex Adobe 3.
1. 2. Flex Adobe 3. Flex Adobe Flex Flex Web Flex Flex Flex Adobe Flash Player 9 /rich Internet applications/ria Flex 1. 2. 3. 4. 5. 6. SWF Flash Player Flex 1. Flex framework Adobe Flex 2 framework RIA
More information基于ECO的UML模型驱动的数据库应用开发1.doc
ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip
More information附件3:
目 录 第 一 部 分 主 体 部 分... 1 一 专 业 建 设 发 展 情 况... 1 二 专 业 培 养 目 标... 4 三 就 业 面 向... 7 四 毕 业 要 求... 10 五 课 程 体 系 与 核 心 课 程... 10 六 实 践 教 学 基 本 要 求... 16 七 教 学 及 课 程 安 排... 21 八 继 续 专 业 学 习 深 造 建 议... 25 九 其
More information1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6
www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7
More information没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型
文 章 编 号 :1007-757X(2012)1-0036-04 领 域 驱 动 模 型 的 WEB 软 件 系 统 设 计 研 究 摘 要 : J2EE 3 JDK1.7 Tomcat WEB 关 键 词 : 中 图 分 类 号 :TP311 文 献 标 志 码 :A 0 引 言 Web 软 件 系 统 的 分 层 结 构 典 型 的 J2EE 软 件 系 统 开 发 方 法 分 为 三 层 结
More informationMicrosoft Word - 王彬_已修改_.doc
第 39 卷 第 1 期 应 用 科 技 Vol.39, No.1 2012 年 2 月 Applied Science and Technology Feb. 2012 doi:10.3969/j.issn.1009-671x.201110009 基 于 J2EE 网 络 教 学 系 统 的 设 计 与 实 现 李 静 梅, 王 彬, 彭 晴 晴 哈 尔 滨 工 程 大 学 计 算 机 科 学 与
More information<4D6963726F736F667420576F7264202D2031A3AD4A617661BCBCCAF5CAC6CDB7D5FDBEA22E646F63>
Java 技 术 的 势 头 正 劲 清 华 大 学 计 算 机 科 学 与 技 术 系 李 涓 子 徐 鹏 王 克 宏 Java 技 术 已 经 遍 布 世 界 各 个 角 落, 从 智 能 卡 Java 手 机 和 电 话, 到 汽 车 生 产 以 至 于 控 制 火 星 漫 游 者 号 的 临 界 任 务 系 统 都 能 看 到 它 的 作 用,Java 已 经 成 为 一 种 普 遍 深 入
More information序号:001
第 一 组 选 题 简 介 序 号 :001 题 目 : 基 于 BPEL 的 网 上 订 餐 系 统 的 设 计 与 实 现 网 上 订 餐 系 统 是 在 互 联 网 上 进 行 菜 单 信 息 发 布 网 上 订 餐 以 及 维 护 客 户 关 系 的 电 子 商 务 系 统, 餐 饮 企 业 可 以 通 过 这 个 电 子 商 务 系 统 发 布 自 己 的 菜 单 信 息 以 供 客 户
More informationuntitled
4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker
More information计 算 机 系 统 应 用 http://www.c-s-a.org.cn 2016 年 第 25 卷 第 4 期 线 程 的 复 用 [2,3]. 通 常 情 况 下, 服 务 器 端 程 序 在 启 动 时 创 建 若 干 数 量 的 线 程 对 象 并 缓 存 起 来, 此 时 它 们 处 于
1 线 程 池 技 术 在 考 试 系 统 中 的 应 用 葛 萌 1, 于 博 2, 欧 阳 宏 基 ( 咸 阳 师 范 学 院 信 息 工 程 学 院, 咸 阳 712000) ( 河 南 建 筑 职 业 技 术 学 院 信 息 工 程 系, 郑 州 450064) 1 摘 要 : 当 较 大 规 模 客 户 端 并 发 请 求 服 务 器 端 应 用 程 序 时, 传 统 的 为 每 个 请
More informationOOAD PowerDesigner OOAD Applying PowerDesigner CASE Tool in OOAD PowerDesigner CASE Tool PowerDesigner PowerDesigner CASE To
PowerDesigner Applying PowerDesigner CASE Tool in OOAD albertchung@mpinfo.com.tw PowerDesigner CASE Tool PowerDesigner PowerDesigner CASE Tool PowerDesigner CASE Tool CASE Tool PowerDesignerUnified ProcessUMLing
More information國家圖書館典藏電子全文
EAI EAI Middleware EAI 3.1 EAI EAI Client/Server Internet,www,Jav a 3.1 EAI Message Brokers -Data Transformation Business Rule XML XML 37 3.1 XML XML XML EAI XML 1. XML XML Java Script VB Script Active
More information<4D6963726F736F667420576F7264202D20B9FABCD2BBFAB9D8B0ECB9ABBDA8D6FEBACDB4F3D0CDB9ABB9B2BDA8D6FEC4DCBAC4BCE0B2E2CFB5CDB3C8EDBCFEBFAAB7A2D6B8B5BCCBB5C3F7CAE92E646F63>
附 件 : 国 家 机 关 办 公 建 筑 和 大 型 公 共 建 筑 能 耗 监 测 系 统 软 件 开 发 指 导 说 明 书 住 房 和 城 乡 建 设 部 二 〇 〇 九 年 二 月 前 言 为 指 导 各 地 国 家 机 关 办 公 建 筑 和 大 型 公 共 建 筑 能 耗 监 测 系 统 建 设, 住 房 和 城 乡 建 设 部 组 织 有 关 专 家, 在 总 结 吸 收 国 内 已
More information<4D6963726F736F667420576F7264202D20C8EDBCFEA1B232303130A1B33136BAC5A3BAB9D8D3DAB7A2B2BC32303130C4EAC8EDBCFEB9A4B3CCCAB5D1B5D6AED0A3C4DABFC6D1D0CFEEC4BFB5C4CDA8D6AA2E646F63>
附 件 4 软 件 学 院 第 六 届 软 件 创 新 设 计 大 赛 专 题 项 目 项 目 1 指 导 老 师 : 林 倞 潘 炎 曾 坤 项 目 ( 课 题 ) 名 称 : 基 于 GraphCut 算 法 的 快 速 图 像 分 割 技 术 图 像 分 割 是 图 像 处 理 的 基 本 技 术 之 一, 也 是 图 像 分 析 的 最 基 本 的 步 骤, 作 为 计 算 机 视 觉 的
More informationRunPC2_.doc
PowerBuilder 8 (5) PowerBuilder Client/Server Jaguar Server Jaguar Server Connection Cache Thin Client Internet Connection Pooling EAServer Connection Cache Connection Cache Connection Cache Connection
More informationASP.NET MVC Visual Studio MVC MVC 範例 1-1 建立第一個 MVC 專案 Visual Studio MVC step 01 Visual Studio Web ASP.NET Web (.NET Framework) step 02 C:\M
ASP.NET MVC Visual Studio 2017 1 1-4 MVC MVC 範例 1-1 建立第一個 MVC 專案 Visual Studio MVC step 01 Visual Studio Web ASP.NET Web (.NET Framework) step 02 C:\MvcExamples firstmvc MVC 1-7 ASP.NET MVC 1-9 ASP.NET
More information學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘
ITE 資 訊 專 業 人 員 鑑 定 資 料 庫 系 統 開 發 與 設 計 實 務 試 卷 編 號 :IDS101 注 意 事 項 一 本 測 驗 為 單 面 印 刷 試 題, 共 計 十 三 頁 第 二 至 十 三 頁 為 四 十 道 學 科 試 題, 測 驗 時 間 90 分 鐘 : 每 題 2.5 分, 總 測 驗 時 間 為 90 分 鐘 二 執 行 CSF 測 驗 系 統 -Client
More information目 录 第 五 部 分 第 六 部 分 第 七 部 分 第 八 部 分 投 标 邀 请 投 标 人 须 知 附 表 评 标 方 法 和 评 分 细 则 项 目 需 求 和 技 术 方 案 要 求 1
政 府 采 购 招 标 文 件 ( 服 务 类 ) 第 二 册 项 目 编 号 :SDGP2016-224 项 目 名 称 : 公 共 法 律 服 务 系 统 开 发 项 目 包 号 :A1 山 东 省 省 级 机 关 政 府 采 购 中 心 目 录 第 五 部 分 第 六 部 分 第 七 部 分 第 八 部 分 投 标 邀 请 投 标 人 须 知 附 表 评 标 方 法 和 评 分 细 则 项 目
More informationLiveBOS产品白皮书
面 向 对 象 的 业 务 支 撑 平 台 与 建 模 工 具 * 实 现 应 您 所 需, 随 时 而 变 的 应 用 * 业 务 管 理 应 用 软 件 最 佳 选 择 * LiveBOS 产 品 白 皮 书 LiveBOS 产 品 白 皮 书 福 建 顶 点 软 件 股 份 有 限 公 司 www.livebos.com Copyright c 1996-2009 版 权 所 有 福 建 顶
More information<4D6963726F736F667420506F776572506F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>
软 件 架 构 师 研 修 讲 座 胡 协 刚 软 件 架 构 师 UML/RUP 专 家 szjinco@public.szptt.net.cn 中 国 软 件 架 构 师 网 东 软 培 训 中 心 小 故 事 : 七 人 分 粥 当 前 软 件 团 队 的 开 发 现 状 和 面 临 的 问 题 软 件 项 目 的 特 点 解 决 之 道 : 从 瀑 布 模 型 到 迭 代 模 型 解 决 项
More information11 天 山 区 区 环 卫 清 运 队 机 械 工 程 师 4011 C 1 不 限 不 限 机 电 具 有 两 以 工 作 经 12 天 山 区 乌 鲁 木 齐 市 第 15 小 会 计 4012 C 1 不 限 不 限 会 计 财 会 财 电 算 化 临 床 医 预 防 医 公 共 卫 生 与
2013 乌 鲁 木 齐 市 事 业 单 工 作 员 表 序 1 天 山 区 区 委 财 经 领 导 小 组 办 公 室 ( 金 融 工 作 办 公 室 ) 金 融 工 作 专 干 4001 C 2 不 限 不 限 硕 士 研 究 生 会 计 财 务 管 理 财 务 会 计 基 建 会 计 行 政 事 业 财 务 会 计 2 天 山 区 区 园 林 队 会 计 4002 C 1 不 限 不 限 财
More informationuntitled
. Version 1.0 2015 7 1. IT 1.. IBM IBM IBM WBI IBM WBI Jasdaq 3G 9 Java Hitachi Suntory Panansonic 2. IT . 10 Java Software AG (Dachieve) (Angel Engineers Inc.) 360,, Software AG XML,.,,,,.. CRM TOLO 3G
More informationweblogic
Weblogic Allen Long allen@huihoo.com http://www.huihoo.com 2004-04 1 WebLogic, WLS WLS Domain 2 Weblogic6.1 Weblogic6.1 J2EE1.2,J2EE1.3 HTTP 1.1 J2EE Connector Architecture 1.0 J2EE EJB 2.0 J2EE JDBC 2.0
More information一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S
一 個 SQL Injection 實 例 的 啟 示 頁 1 / 6 你 的 網 站 在 裸 奔 嗎? 一 個 SQL Injection 實 例 的 啟 示 作 者 : 李 明 儒 SQL Injection( 資 料 隱 碼 攻 擊 ) 問 題 早 就 不 是 什 麼 新 聞, 但 前 陣 子 在 一 個 頗 具 知 名 度 的 活 動 網 站 上, 赫 然 發 現 它 大 刺 刺 地 現 身!
More information臺銀人壽「98年九至十一職等人員甄試」
桃 園 大 眾 捷 運 公 司 104 年 度 新 進 人 員 甄 試 簡 章 執 行 單 位 : 銘 傳 大 學 地 址 : 台 北 市 士 林 區 中 山 北 路 五 段 250 號 電 話 :(02)28809748 服 務 時 間 : 週 一 至 週 五 8:10~17:00 E-mail:pr@mail.mcu.edu.tw 中 華 民 國 104 年 5 年 1 日 公 告 關 於 桃
More information关 于 参 加 毕 业 生 供 需 见 面 会 有 关 事 项 的 公 告 为 确 保 学 校 举 办 的 毕 业 生 供 需 见 面 会 有 序 进 行, 特 就 参 会 的 有 关 事 项 公 告 如 下 : 一 本 次 招 聘 大 会 参 会 人 员 仅 为 大 学 毕 业 生 用 人 单 位 招 聘 负 责 人 以 及 大 会 工 作 人 员, 其 它 社 会 人 员 不 得 进 入 会 场
More informationWebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..
WebSphere Studio Application Developer IBM Portal Toolkit... 1/21 WebSphere Studio Application Developer IBM Portal Toolkit Portlet Doug Phillips (dougep@us.ibm.com),, IBM Developer Technical Support Center
More informationRUN_PC連載_12_.doc
PowerBuilder 8 (12) PowerBuilder 8.0 PowerBuilder PowerBuilder 8 PowerBuilder 8 / IDE PowerBuilder PowerBuilder 8.0 PowerBuilder PowerBuilder PowerBuilder PowerBuilder 8.0 PowerBuilder 6 PowerBuilder 7
More informationOracle Database 10g: SQL (OCE) 的第一堂課
商 用 資 料 庫 的 第 一 堂 課 中 華 大 學 資 訊 管 理 系 助 理 教 授 李 之 中 http://www.chu.edu.tw/~leecc 甲 骨 文 俱 樂 部 @Taiwan Facebook 社 團 https://www.facebook.com/groups/365923576787041/ 2014/09/15 問 題 一 大 三 了, 你 為 什 麼 還 在 這
More informationLiveBOS产品白皮书
面 向 对 象 的 业 务 支 撑 平 台 与 建 模 工 具 * 实 现 应 您 所 需, 随 时 而 变 的 应 用 * 业 务 管 理 应 用 软 件 最 佳 选 择 * LiveBOS 产 品 白 皮 书 LiveBOS 产 品 白 皮 书 福 州 顶 点 信 息 管 理 有 限 公 司 http://www.apexinfo.com.cn Copyright c 2008-2015 版 权
More information产品手册: CA GEN r8
产 品 手 册 : CA GEN r8 CA Gen r8 CA Gen 是 一 个 成 熟 的 模 拟 驱 动 开 发 环 境, 用 来 设 计 部 署 和 维 护 高 性 能 可 扩 缩 的 企 业 应 用 程 序 集 成 模 型 和 代 码 生 成 使 您 能 够 运 用 平 台 独 立 的 应 用 程 序 来 运 行 您 的 关 键 任 务 进 程 灵 活 的 开 发 方 法 用 来 设 计
More informationXXXXXXXX http://cdls.nstl.gov.cn 2 26
[ ] [ ] 2003-7-18 1 26 XXXXXXXX http://cdls.nstl.gov.cn 2 26 (2003-7-18) 1...5 1.1...5 1.2...5 1.3...5 2...6 2.1...6 2.2...6 2.3...6 3...7 3.1...7 3.1.1...7 3.1.2...7 3.1.2.1...7 3.1.2.1.1...8 3.1.2.1.2...10
More informationandroid讲座
湖 南 卓 景 京 信 息 移 动 互 联 行 业 -- JAVA+Android 湖 南 卓 景 京 信 息 主 要 内 容 一. 移 动 互 联 网 行 业 介 绍 二.Java 和 Android 三. 行 业 前 景 和 用 人 需 求 四. 我 们 该 怎 么 做 湖 南 卓 景 京 信 息 李 海 波 ( 软 件 架 构 师 项 目 经 理 技 术 总 监 ) QQ:50859246 行
More information(2) 标 识 构 件 活 动 首 先 需 要 获 得 系 统 的 基 本 结 构, 然 后 对 基 本 结 构 进 行 分 组, 最 后 将 基 本 结 构 进 行 打 包 成 构 件 (3) 架 构 需 求 评 审 活 动 组 织 一 个 由 系 统 涉 众 ( 用 户 系 统 分 析 师 架
2012 年 下 半 年 系 统 架 构 设 计 师 论 文 解 析 ( 总 分 75, 考 试 时 间 120 分 钟 ) 试 题 一 论 基 于 架 构 的 软 件 设 计 方 法 及 应 用 基 于 架 构 的 软 件 设 计 (Architecture-Based Software Design,ABSD) 方 法 以 构 成 软 件 架 构 的 商 业 质 量 和 功 能 需 求 等 要
More information目錄
資 訊 素 養 線 上 教 材 單 元 五 資 料 庫 概 論 及 Access 5.1 資 料 庫 概 論 5.1.1 為 什 麼 需 要 資 料 庫? 日 常 生 活 裡 我 們 常 常 需 要 記 錄 一 些 事 物, 以 便 有 朝 一 日 所 記 錄 的 事 物 能 夠 派 得 上 用 場 我 們 能 藉 由 記 錄 每 天 的 生 活 開 銷, 就 可 以 在 每 個 月 的 月 底 知
More informationLearning Java
Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10
More informationD C 93 2
D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,
More informationmvc
Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication
More information第03章 控制反转(Spring IoC)
3 Spring IoC GoF Design Patterns: Elements of Reusable Object-Oriented Software Programming to an Interface not an Implementation Java Java Java GoF Service Locator IoC IoC Spring IoC 3.1 IoC IoC IoC Dependency
More informationFileMaker 16 ODBC 和 JDBC 指南
FileMaker 16 ODBC JDBC 2004-2017 FileMaker, Inc. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc. FileMaker WebDirect FileMaker Cloud FileMaker,
More information<4D6963726F736F667420576F7264202D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>
基 于 Android 平 台 的 电 子 拍 卖 系 统 摘 要 本 电 子 拍 卖 系 统 其 实 就 是 一 个 电 子 商 务 平 台, 只 要 将 该 系 统 部 署 到 互 联 网 上, 客 户 都 可 以 在 该 系 统 上 发 布 想 出 售 的 商 品, 也 可 以 对 拍 卖 中 的 商 品 参 与 竞 价 整 个 过 程 无 须 人 工 干 预, 由 系 统 自 动 完 成 本
More information6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM
CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986
More informationuntitled
PortalAge Infrastructure v2.0 Infrastructure 2.0 PortalAge Infrastructure 2.0 Infrastructure 2.0 Infrastructure 2.0 Infrastructure 2.0 PortalAge Infrastructure Framework Framework PortalAge Infrastructure
More informationRunPCPB8 new feature.PDF
Client/Server Web N-Tier PowerBuilder 8.0 PowerBuilder 8.0 IDE Client/Server Web PowerBuilder / Web-based IT IDE PowerBuilder PowerBuilder 8.0 PowerBuilder 8.0 PowerBuilder 8.0 PowerBuilder Sybase PowerBuilder
More informationuntitled
http://idc.hust.edu.cn/~rxli/ 1.1 1.2 1.3 1.4 1.5 1.6 2 1.1 1.1.1 1.1.2 1.1.3 3 1.1.1 Data (0005794, 601,, 1, 1948.03.26, 01) (,,,,,) 4 1.1.1 Database DB 5 1.1.1 (DBMS) DDL ( Create, Drop, Alter) DML(
More informationuntitled
Data Source 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 8-1 Data Source 8-2 Data Source 8-3 Data Source 8-4 Data Source 8-5 DataSourceID 8-6 DataSourceMode 8-7 DataSource 8-8 8-9 Parameter Direction
More information序 言 本 专 业 人 才 培 养 方 案 以 适 应 市 场 需 求 为 目 标, 根 据 学 校 校 企 双 主 体 人 才 培 养 的 要 求 和 移 动 应 用 开 发 专 业 的 特 点 设 置 课 程 体 系, 体 现 了 课 程 为 市 场 服 务 的 特 点 本 专 业 要 求 学
广 东 新 安 职 业 技 术 学 院 计 算 机 移 动 应 用 开 发 专 业 2016 级 人 才 培 养 方 案 专 业 方 向 负 责 人 : 梅 红 系 主 任 : 毛 立 冰 计 算 机 系 二 一 五 年 六 月 序 言 本 专 业 人 才 培 养 方 案 以 适 应 市 场 需 求 为 目 标, 根 据 学 校 校 企 双 主 体 人 才 培 养 的 要 求 和 移 动 应 用 开
More information2 Requirements Documentation Doc Name Doc No. 1.0 Version No. Total Page Generated By V6.0.0 Generated Date 2011/10/21 Checked By Checked Date 2011/10
1 2 Requirements Documentation Doc Name Doc No. 1.0 Version No. Total Page Generated By V6.0.0 Generated Date 2011/10/21 Checked By Checked Date 2011/10/26 Approved By Approved Date Version Modification
More information内 容 协 作 平 台 TRS WCM 6.5 北 京 拓 尔 思 信 息 技 术 股 份 有 限 公 司 Beijing TRS Information Technology Co., Ltd 版 权 说 明 本 手 册 由 北 京 拓 尔 思 信 息 技 术 股 份 有 限 公 司 ( 以 下 简 称 TRS 公 司 ) 出 版, 版 权 属 TRS 公 司 所 有 未 经 出 版 者 正 式
More informationJava 1 Java String Date
JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth
More information59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID
58 2016. 14 * LireSolr LireSolr CEDD Ajax CSpace LireSolr CEDD Abstract In order to offer better image support services it is necessary to extend the image retrieval function of our institutional repository.
More informationjsp
JSP Allen Long Email: allen@huihoo.com http://www.huihoo.com 2004-04 Huihoo - Enterprise Open Source http://www.huihoo.com 1 JSP JSP JSP JSP MVC Huihoo - Enterprise Open Source http://www.huihoo.com 2
More informationuntitled
rxli@public.wh.hb.cn http://idc.hust.edu.cn/~rxli/ 2 3 ( ) (Distributed System) Integrated System () 4 5 6 System Integration 7 8 Integrated System 9 1.1 CIMS IDEF CSCW STEP MIS MRPII ERP CRM SCM MIS:
More informationJBuilder Weblogic
JUnit ( bliu76@yeah.net) < >6 JUnit Java Erich Gamma Kent Beck JUnit JUnit 1 JUnit 1.1 JUnit JUnit java XUnit JUnit 1.2 JUnit JUnit Erich Gamma Kent Beck Erich Gamma Kent Beck XP Extreme Programming CRC
More informationuntitled
1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider
More information温州市政府分散采购
温 州 市 政 府 分 散 采 购 招 标 文 件 招 标 编 号 :F - G B 2 0 1 6 0 3 1 4 0 0 4 7 招 标 项 目 : 温 州 市 人 民 政 府 办 公 室 政 务 云 平 台 ( 重 ) 招 标 方 式 : 公 开 招 标 招 标 人 : 温 州 市 人 民 政 府 办 公 室 招 标 代 理 : 二 〇 一 六 年 三 月 目 录 投 标 保 证 金 办 理
More information目 录 第 五 部 分 报 价 邀 请 第 六 部 分 供 应 商 须 知 附 表 第 七 部 分 评 审 方 法 和 评 分 细 则 第 八 部 分 项 目 需 求 和 服 务 方 案 要 求 1
竞 争 性 磋 商 文 件 项 目 编 号 :SDSM2016-3029 第 二 册 山 东 三 木 招 标 有 限 公 司 二 〇 一 六 年 二 月 1 目 录 第 五 部 分 报 价 邀 请 第 六 部 分 供 应 商 须 知 附 表 第 七 部 分 评 审 方 法 和 评 分 细 则 第 八 部 分 项 目 需 求 和 服 务 方 案 要 求 1 第 五 部 分 报 价 邀 请 山 东 三
More information天津天狮学院关于修订2014级本科培养方案的指导意见
目 录 天 津 天 狮 院 关 于 修 订 2014 级 本 科 培 养 方 案 的 指 导 意 见...1 金 融 类 专 业...9 金 融 专 业 培 养 方 案...9 保 险 专 业 培 养 方 案...14 人 力 资 源 管 理 专 业 培 养 方 案...19 劳 动 与 社 会 保 障 专 业 培 养 方 案...24 工 商 管 理 类 专 业...29 市 场 营 销 专 业
More information1
PRIMETON TECHNOLOGIES, LTD. EOS EOS Manager No part of this document may be reproduced, stored in any electronic retrieval system, or transmitted in any form or by any means, mechanical, photocopying,
More informationchp6.ppt
Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行
More informationOracle JDeveloper 10g Overview
Oracle JDeveloper 10g Overview Roel Stalman Senior Director Tools Product Management Oracle Corporation Accelerate Development and Deployment of SOA Integrate Develop Orchestrate Deploy Access Secure Manage
More information发现一:全国医院信息化发展不平衡
大 会 论 文 集 1 目 录 医 院 信 息 系 统 建 设 PACS/RIS 与 HIS 紧 密 集 成 设 计 及 应 用 陈 映 楠 等 (4) 输 血 管 理 信 息 系 统 的 应 用 与 实 现 张 晓 东 等 (7) 医 院 信 息 化 与 信 息 化 思 维 熊 志 强 (10) 医 院 院 内 会 诊 系 统 的 设 计 与 应 用 李 建 鹏 等 (13) 电 子 病 历 在
More informationuntitled
Work Managers 什 Work Managers? WebLogic Server 9.x 行 (thread) 理 thread pool 數量 立 execute queues 來 量 理 thread count, thread priority 參數 理 thread pool 數量? WebLogic Server 9.x 理 行 (thread) (self-tuning) 句
More information新・解きながら学ぶJava
481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --
More information詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入
100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入
More information创业板投资风险提示:本次股票发行后拟在创业板市场上市,该市场具有较高的投资风险
创 业 板 投 资 风 险 提 示 : 本 次 股 票 发 行 后 拟 在 创 业 板 市 场 上 市, 该 市 场 具 有 较 高 的 投 资 风 险 创 业 板 公 司 具 有 业 绩 不 稳 定 经 营 风 险 高 退 市 风 险 大 等 特 点, 投 资 者 面 临 较 大 的 市 场 风 险 投 资 者 应 充 分 了 解 创 业 板 市 场 的 投 资 风 险 及 本 公 司 所 披 露
More information基于UML建模的管理管理信息系统项目案例导航——VB篇
PowerBuilder 8.0 PowerBuilder 8.0 12 PowerBuilder 8.0 PowerScript PowerBuilder CIP PowerBuilder 8.0 /. 2004 21 ISBN 7-03-014600-X.P.. -,PowerBuilder 8.0 - -.TP311.56 CIP 2004 117494 / / 16 100717 http://www.sciencep.com
More informationASP 電子商務網頁設計
Flash Flash CSIE, NTU December 22, 2007 Outline & Flash National Taiwan University December 22, 2007 Page 2 Outline & Flash National Taiwan University December 22, 2007 Page 3 Course Introduction (1/3)
More information支付宝2011年 IT资产与费用预算
OceanBase 支 持 ACID 的 可 扩 展 关 系 数 据 库 qushan@alipay.com 2013 年 04 月 关 系 数 据 库 发 展 1970-72:E.F.Codd 数 据 库 关 系 模 式 20 世 纨 80 年 代 第 一 个 商 业 数 据 库 Oracle V2 SQL 成 为 数 据 库 行 业 标 准 可 扩 展 性 Mainframe: 小 型 机 =>
More information30 2008,2(1) 基 礎 上, 各 種 數 據 均 以 圖 形 化 方 式 表 達, 因 此 各 級 分 析 結 果 均 可 以 隨 時 檢 驗 另 外, 由 於 系 統 是 以 網 站 形 式 發 佈, 任 何 用 戶 均 可 通 過 網 絡 查 詢 瀏 覽 系 統 中 的 數 據, 因
第 2 卷 第 1 期 澳 門 科 技 大 學 學 報 Vol.2 No.1 2008 年 6 月 30 日 Journal of Macau University of Science and Technology June 30, 2008 29 月 球 探 測 數 據 實 時 管 理 系 統 的 開 發 朱 紅 岷 **, 祝 夢 華, 劉 良 鋼 *, 許 敖 敖 ( 澳 門 科 技 大 學
More information<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>
packages 3-31 PART 3-31 03-03 ASP.NET ASP.N MVC ASP.NET ASP.N MVC 4 ASP.NET ASP.NE MVC Entity Entity Framework Code First 2 TIPS Visual Studio 20NuGetEntity NuGetEntity Framework5.0 CHAPTER 03 59 3-3-1
More informationKillTest 质量更高 服务更好 学习资料 半年免费更新服务
KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int
More information内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指
内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集
More information目 录 1. 前 言... 1 2. 为 什 么 要 用 ESB... 1 2.1. 技 术 发 展... 1 2.2. 业 务 需 求... 3 2.3. IT 需 求... 4 2.4. IT 与 业 务 一 致 性 要 求... 5 3. TongIntegrator ESB v5 简 介..
TongTech TongIntegrator ESB v5 ( 简 称 TongESB v5) 产 品 白 皮 书 北 京 东 方 通 科 技 公 司 2015 年 目 录 1. 前 言... 1 2. 为 什 么 要 用 ESB... 1 2.1. 技 术 发 展... 1 2.2. 业 务 需 求... 3 2.3. IT 需 求... 4 2.4. IT 与 业 务 一 致 性 要 求...
More information( 试 行 ) 中 国 城 市 科 学 研 究 会 数 字 城 市 工 程 研 究 中 心 二 〇 一 三 年 四 月 目 录 引 言... 1 1 范 围... 1 2 规 范 性 引 用 文 件... 1 3 术 语 定 义 与 缩 略 语... 2 3.1 术 语 与 定 义... 2 3.2 缩 略 语... 2 4 平 台 定 位... 2 4.1 智 慧 城 市 总 体 框 架...
More informationuntitled
II III IV V VI VII VIII IX 2 ASP 1 ASP 3 4 ASP Web CGI ISAPI OLEISAPI Perl IDC ASP dbweb Perl IDC ASP dbweb IDC 1 ASP 5 Web Web DLL 6 ASP 1 ASP 7 8 ASP 1 ASP 9 10 ASP 1 ASP 11 12 ASP 1 ASP 13 14 ASP 1
More information声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工
( 申 报 稿 ) 主 办 券 商 二 〇 一 五 年 十 月 声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的 负 责 人 会 计 机 构
More information(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787
Web (CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 1092 1/ 16 30.75 748 2005 1 1 2005 1 1 : 1 3 100
More information