基于AOP的动态数据国际化框架的设计与实现.docVIP

  • 3
  • 0
  • 约6.8千字
  • 约 15页
  • 2017-06-08 发布于北京
  • 举报

基于AOP的动态数据国际化框架的设计与实现.doc

基于AOP的动态数据国际化框架的设计与实现 已存在的动态数据国际化解决方法不易于移植和复用。 没有现成的动态数据国际化解决方案或框架。 针对以上问题,需要提出一个动态数据国际化的解决方案。 为了在短时间内,规范高效的构建出国际化的网络?春季轻量级框架的J2EE架构的网络应用国际化框架,简化系统国际化的实现过程。 目标是: 使该国际化框架适用于关系数据库或对象关系数据库。 新的框架要易于配置。 框架的代码可以复用,能有效地提高系统的开发效率。 动态数据国际化框架模型的设计与实现 总体设计 本框架基于J2EE的三层架构(UI层,逻辑层和持久层),如图1所示。所有层次都应遵循统一准则,即内部编码采用统一标准,B / S架构的推荐使用UTF-8编码。 图1。基于B / S模式的国际化总体逻辑框架 ? 图2。动态数据国际化框架设计 ? 该容器由国际化配置的注解,DAO层资源处理器和充当过滤器的角色,实现国际化公共增强功能的方面这3部分组合而成。 该容器中,国际化看点,主要根据实体豆的注释标签判断访问哪种资源,采用哪种资源处理器进行处理。 该容器中,DAO层的资源处理器,主要根据实体Bean的注释中的配置信息,对资源进行存取访问操作,获取资源。 分层结构是基于B / S架构的Java EE的 该框架有以下几点优势: 不依靠资源的持久化方式; 可使用资源文件或关系数据库存储信息。用关系数据库存储时,无论是单表还是分表,都可以完成数据存取。 国际化功能与业务逻辑解耦; 编程人员可以专注于核心的BO?\ 坚持以面向对象的设计为主,AOP设计为辅,可缩减代码,控制的开发的成本; 用注解实现对象关系数据库间的一一映射。 它管理的Java类到数据库表的映射,在的JavaBean中只嵌入注解标签即可,与国际化有关的代码完全提取到注解的实现豆中的,JavaBean中完全不使用国际化相关代码,方便复用和调试。 模型实现 框架的运行时序图如图3所示: 图3。动态元素国际化方面序列图 ? 分析上面的运行时序可知: 首先由业务逻辑层对象调用获取实体Bean的属性值的方法。 如果该方法有国际化标签,需要国际化支持,则织入I18NAspect方面,进行国际化功能增强。 根据属性的注解配置,由相应的处理器进行处理。 最后把取得的资源值返回给实体类的属性。 至此完成国际化功能的织入,然后BO层可以继续执行核心业务逻辑。下面就逐个组件实现以上功能。 注释注解提供国际化配置 本框架中的注释用于对类或属性提供国际化的配置信息。共定义5个注解:ConnectorType,连接器,配置,文本和本地化。它们之间的关系类图如图4所示: 图4。注释类图 ? @ ConnectorType 国际化资源连接类型。此标签与@连接器联合使用。 功能:用于标识国际化 RelationDatabase:标识从数据库中读取动态国际化信息数据。 PropertiesFile:标识从资源文件中读取静态国际化数据。 @连接器 连接器,此标签与@文字联合使用。 功能:负责连接关系数据库,或是资源文件。 类型:连接类型,决定本地化资源处理方法,由ConnectorType定义,只可能有读取资源文件或访问数据库两种方式。 产品名称:连接名称,当访问资源文件时,名称表示资源文件的名称。当访问数据库时,名称表示连接数据的数据源名称,可以根据名称从春季的配置文件中依赖IOC获得数据源连接的相关配置。 @配置 类属性的国际化配置项。此标签与@文字联合使用。 功能:对象和关系数据库表的映射工具,实现的Java对象模型和数据库关系模型的互相转化和一一映射。 它包含4个属性。标签中的语言环境是必选项,指出了所支持的对国家/语言环境。 表,列keyValueField; @文字 作用在类的属性上,对属性进行国际化配置。 功能:建立不同语言环境下对象和数据库OR映射,或建立对象与资源文件中记录的对应关系。 Key:主键,表示唯一记录,若数据库访问则表示确定该属性的唯一关键字段,若读取资源文件则表示该属性对应的键值。 连接器:连接器的属性,表示连接关系数据库,还是资源文件。 CONFIGS:配置项“数组,每一条配置的项对应一种语言的国际化支持。CONFIGS [0]为英文配置信息,CONFIGS [1]为中文配置信息。 @国际化 defaultLocale定义了默认的语言环境,初始值是“EN_US”。 下面将使用已定义好的注解注解,用标签修饰类文件。 1。以访问关系数据库为例,建立国家对象的国家名称属性名称与数据库字段之间的OR映射类CountryBean的属性及方法如图所示。 图5.CountryBean类图 ? 用标签来对“国家名称”的名称属性进行配置,标签声明如下: 清单1。使用标签配置属性实例一

文档评论(0)

1亿VIP精品文档

相关文档