智慧河道信息化工程建设方案
智慧河道信息化工程建设方案 V2019 智慧河道信息化工程 建设方案 第 2 页 智慧河道信息化工程建设方案 V2019 目录目录 1.项目背景 . 5 1.1. 1.2. 概述 5 现状以及国家政策 6 现状分析 6 国家出台的政策法规及标准 8 1.2.1. 1.2.2. 1.3.建设目标从而使得应用开发者关心业务逻辑,而 Web 设计者关心 表示逻辑。 33 JDBCJDBC Java 数据库连接Java DataBase Connectivity, JDBC API 是 JDK 提供的与关系数据库接口的底层 API,现在大多数数据 库支持到 JDBC2.0. JDBC API 提供针对 SQL 兼容的关系型数据 库提供了一组通用的数据库访问方法,使用这些 API,可以实 现不同厂商之间的互连和在不同厂商提供的关系型数据库之间 进行数据访问。 J2EE 通过对 Java 2 标准版提供的核心 JDBC API 进行的扩 展,可以提供优化网络资源的连接池和分布事务、行集等高级 特性。JDBC 2.0 Optional Package API 同 Java 事务 API 一起 实现分布式事务。JDBC 2.0 Optional Package API 提供的连 第 18页 智慧河道信息化工程建设方案 V2019 接池比传统的连接池方式更为透明。传统的连接池是一种客户 端的连接池,需要客户程序负责实现健壮的连接池机制。而采 用 2.0 提供的方式,应用服务器和/或数据库驱动器就能内部的 处理连接池池就会自动地工作配置了 J2EE 应用服务器后,只要 用数据源对象获取连接,连接这种途径非常简单,系统管理员 可以方便的使能和配置连接池,而不用去考虑任何应用程序。 44 JNDIJNDI Java 命名和目录服务接口JNDI被设计来简化对目录基础结 构的访问。目录是一种特殊类型的数据库,它提供了对数据存 储的快速访问方式。JNDI 提供了标准的 API 来访问任何类型的 目录,也可以在网络上存储和检索 Java 对象。命名服务是一个 服务,它为一组给定的数据提供创建标准名字的服务。目录服 务是命名服务,它包括描述由名字引用的对象的元数据。这就 使得可以在元数据上搜索目录服务来找到对象,而不用知道它 的名字 [27] 。在高级网络应用中,目录服务将会是 Java 对象 的主要存储手段,当 Java 对象相当稳定的时候,使用目录服务 来查找和检索 Java 对象更普遍。 2.4.2.2.4.2.Spring FrameworkSpring Framework 框架框架 Spring 是轻量级的 J2EE 应用程序框架。 Spring 的核心是个轻量级容器(container),实现了 IoC (Inversion of Control)模式的容器,Spring 的目标是实现 一个全方位的整合框架,在 Spring 框架下实现多个子框架的组 合,这些子框架之间彼此可以独立,也可以使用其它的框架方 第 19页 智慧河道信息化工程建设方案 V2019 案加以替代,Spring 希望提供 one-stop shop 的框架整合方案 [30] 。 Spring 的核心概念是 IoC,IoC 的抽象概念是「依赖关系的 转移」,像是「高层模组不应该依赖低层模组,而是模组都必 须依赖于抽象」是 IoC 的一种表现,「实现必须依赖抽象,而 不是抽象依赖实现」也是 IoC 的一种表现,「应用程序不应依 赖于容器,而是容器服务于应用程序」也是 IoC 的一种表现。 另外,Spring 的架构性的好处如下所述 Spring 能有效地组织你的中间层对象,无论你是否选择使用 了 EJB。如果你仅仅使用了 Struts 或其他的包含了 J2EE 特有 APIS 的 framework,你会发现 Spring 关注了遗留下的问题。 Spring 能消除使用各种各样格式的属性定制文件的需要,在 整个应用和工程中,可通过一种一致的方法来进行配置。曾经 感到迷惑,一个特定类要查找迷幻般的属性关键字或系统属性, 为此不得不读 Javadoc 乃至源编码吗有了 Spring,你可很简 单地看到类的 JavaBean 属性。倒置控制的使用在下面讨论帮 助完成这种简化。Spring 能通过接口而不是类促进好的编程习 惯,减少编程代价到几乎为零。 使用 Spring 构建的应用程序易于单元测试。 Spring 能使 EJB 的使用成为一个实现选择,而不是应用架构 的必然选择。你能选择用 POJOs 或 local EJBs 来实现业务接 口,却不会影响调用代码。 pring 帮助你解决许多问题而无需使用 EJB。Spring 能提供 一种 EJB 的替换物,它们适于许多 web 应用。例如,Spring 能 第 20页 智慧河道信息化工程建设方案 V2019 使用 AOP 提供声明性事务而不通过使用 EJB 容器,如果你仅仅 需要与单个的数据库打交道,甚至不需要 JTA 实现[31]。 Spring 为数据存取提供了一致的框架,不论是使用 JDBC 或 O/R mapping 产品(如 Hibernate)。 Spring 也提供 MVC Web 框架的解決方案,但您也可以将自己 所熟悉的 MVC Web 框架与 Spring 解合,像是 Struts、Webwork 等等,都可以与 Spring 整合而成为进用于自己的解決方案。 Spring 也提供其它方面的整合,像是持久层的整合如 JDBC、 O/R Mapping 工具(Hibernate、iBATIS)、事务处理等等, Spring 作了对多方面整合的努力,故说 Spring 是个全方位的 应用程序框架[32]。 Spring Framework 概览 Spring 包含许多功能和特性,并被很好地组织在如下图所示 的七个模块中。本节将依次介绍每个模块。 第 21页