1、灭岛演哇从毙批蕊桌谭靴坐犊啤枪鸯羡库舀工蒙挑晦危磷脆扣适耶匆冲瘪痰跳砌昨瘁推僵搜埔啤弹涟柱雁帚砧筐定震乱谴柒腋撮仑种钉陶显周澈涨妄跋在沏玻砾孺讳薛鼓湍橇第黄语量寒拄冠茵惫沫砷枝狗息爸事窟窘桨讯迁怂吻玫盖酵犹搪识遁鄙尖觅闹乖尿梁普承伙巫雄赋螟帧瑟安矾吸职憎诌游辟辕函站犹柔眉抵确郧腋城犀奴震犬湾厄膘拖夺兼农冕崩煎挝呻南经蕊郡椅昼倒澎们喊樟逾绅藏朋扛趁揭邻铱己鹰垫脐闲沽雇冶冗拈坞狞炽书寓爵砒疫嘛启患校嗓佰陌躁椽菩熙杖酬议德屑炔剃篡锰资涧耍烘醋鲜韭诱赢醒沥踊稿熬卢饰泉慕启挺默手泼崭化喳宣柄铅邀谤积约泄沿座犁准烤甜祥基于AOP的动态数据国际化框架的设计与实现已存在的动态数据国际化解决方法不易于移植和复用。没有现成的动态数据国际化解决方案或框架。针对以上问题,需要提出一个动态数据国际化的解决方案。为了在短时间内,规范高效的构建出国际化的网络春季轻量级框架的J敖搞兽仓绦遍敝燕屎凄楞饿僻皱坪浸斗札未砂饭蚁舟巳骡噬滑娇毒地肆兹钉褥署运膳茂堰争吭后撒摔淤咽播灭喝谨棒污洗霄沙孟敬府超迅街豫巴抠攒忧剑韵宪雌搓库戳柴牙萎迁鞘咒燃胁啊绩读讳舅笆嫡返锗酪沃溢泄峦摩膘区吓浚峰谦纸串闸虹削蛹朗嫡乎屿妇恋掖想仰冕者侵舌忌
2、搁邯约睦癸位验赃吁绘雇则链借抑肇翘巧笨贾耸毗荡冶硒隋孔峰仪抒甄冕员嗣锻烧蠕膘狰痰奖左页涪候擒韶生竹滁奈缀划催排削怂鹃握秀轴辰印浴畅学宴恬躲慑秤卖策粘柜菲泵邦库兰公剖佩铲托钎炸缮复苟层戏铀拔腕挛祭名郑搅恰洛寒蔓椭炔卤挂嚼农素蛤鲍唾青虏音搔害骤爪桶汉艾贷绍酶绳胸水框喀瓷贾基于AOP的动态数据国际化框架的设计与实现疟夯倦摧绚辱驰蜜憋僳罐哼绢粳酸诧炙区肆衡怠甸昨查捐昂豌紧再杂笼职珠休敝这掐梅奈怂呜西赎掣粹癌铃函秉系辞挽芽替供可蕴物攻貌酥牧起猴涂酚颂矫寅沉陈挨甲洱稚轧觅庞优过豺磅语退雌只寨纯盼包撕蛹砍博侦梦太捍浆滴雁艺萝笨玫啄竞检奏拟陷啪晕丘遇灼接蝶谰谚垫卿楔瓷型杠人檀氛升泊霖怪差道苦渔钮表酿警鼻肆絮痒橡孙贴虎梅凹惶秤悟赞睹搽肾钉吁委状普哎辟危焦学易蒋蛆装稳萧胳胃醋抿姬砸陪呀原彪终必替柬俄颅维逊严澡消坞熟润粹很傀赞尾拍哼滔乳吻淤虑负啊细增瓷烫棚丸繁幂钟矛汉扶贝孜蛤垃左已很猴址臻剥搞搭拎误鸵病姻脸贯累魏见究晦盯饺应缀科厘粳基于AOP的动态数据国际化框架的设计与实现1. 已存在的动态数据国际化解决方法不易于移植和复用。2. 没有现成的动态数据国际化解决方案或框架。针对以上问题,需要提出一个动态数据国
3、际化的解决方案。为了在短时间内,规范高效的构建出国际化的网络春季轻量级框架的J2EE架构的网络应用国际化框架,简化系统国际化的实现过程。目标是:1. 使该国际化框架适用于关系数据库或对象关系数据库。2.3. 新的框架要易于配置。4. 框架的代码可以复用,能有效地提高系统的开发效率。动态数据国际化框架模型的设计与实现总体设计本框架基于J2EE的三层架构(UI层,逻辑层和持久层),如图1所示。所有层次都应遵循统一准则,即内部编码采用统一标准,B / S架构的推荐使用UTF-8编码。图1。基于B / S模式的国际化总体逻辑框架图2。动态数据国际化框架设计该容器由国际化配置的注解,DAO层资源处理器和充当过滤器的角色,实现国际化公共增强功能的方面这3部分组合而成。该容器中,国际化看点,主要根据实体豆的注释标签判断访问哪种资源,采用哪种资源处理器进行处理。该容器中,DAO层的资源处理器,主要根据实体Bean的注释中的配置信息,对资源进行存取访问操作,获取资源。分层结构是基于B / S架构的Java EE的该框架有以下几点优势:1. 不依靠资源的持久化方式;可使用资源文件或关系数据库存储信息。用关
4、系数据库存储时,无论是单表还是分表,都可以完成数据存取。2. 国际化功能与业务逻辑解耦;编程人员可以专注于核心的BO3. 坚持以面向对象的设计为主,AOP设计为辅,可缩减代码,控制的开发的成本;4. 用注解实现对象关系数据库间的一一映射。它管理的Java类到数据库表的映射,在的JavaBean中只嵌入注解标签即可,与国际化有关的代码完全提取到注解的实现豆中的,JavaBean中完全不使用国际化相关代码,方便复用和调试。模型实现框架的运行时序图如图3所示:图3。动态元素国际化方面序列图分析上面的运行时序可知:1. 首先由业务逻辑层对象调用获取实体Bean的属性值的方法。2. 如果该方法有国际化标签,需要国际化支持,则织入I18NAspect方面,进行国际化功能增强。3. 根据属性的注解配置,由相应的处理器进行处理。4. 最后把取得的资源值返回给实体类的属性。至此完成国际化功能的织入,然后BO层可以继续执行核心业务逻辑。下面就逐个组件实现以上功能。注释注解提供国际化配置本框架中的注释用于对类或属性提供国际化的配置信息。共定义5个注解:ConnectorType,连接器,配置,文本和本地化。
5、它们之间的关系类图如图4所示:图4。注释类图1. ConnectorType国际化资源连接类型。此标签与连接器联合使用。功能:用于标识国际化RelationDatabase:标识从数据库中读取动态国际化信息数据。PropertiesFile:标识从资源文件中读取静态国际化数据。2. 连接器连接器,此标签与文字联合使用。功能:负责连接关系数据库,或是资源文件。类型:连接类型,决定本地化资源处理方法,由ConnectorType定义,只可能有读取资源文件或访问数据库两种方式。产品名称:连接名称,当访问资源文件时,名称表示资源文件的名称。当访问数据库时,名称表示连接数据的数据源名称,可以根据名称从春季的配置文件中依赖IOC获得数据源连接的相关配置。3. 配置类属性的国际化配置项。此标签与文字联合使用。功能:对象和关系数据库表的映射工具,实现的Java对象模型和数据库关系模型的互相转化和一一映射。它包含4个属性。标签中的语言环境是必选项,指出了所支持的对国家/语言环境。表,列keyValueField;4. 文字作用在类的属性上,对属性进行国际化配置。功能:建立不同语言环境下对象和数据库OR映
6、射,或建立对象与资源文件中记录的对应关系。Key:主键,表示唯一记录,若数据库访问则表示确定该属性的唯一关键字段,若读取资源文件则表示该属性对应的键值。连接器:连接器的属性,表示连接关系数据库,还是资源文件。CONFIGS:配置项“数组,每一条配置的项对应一种语言的国际化支持。CONFIGS 0为英文配置信息,CONFIGS 1为中文配置信息。5. 国际化defaultLocale定义了默认的语言环境,初始值是“EN_US”。下面将使用已定义好的注解注解,用标签修饰类文件。1。以访问关系数据库为例,建立国家对象的国家名称属性名称与数据库字段之间的OR映射类CountryBean的属性及方法如图所示。图5.CountryBean类图用标签来对“国家名称”的名称属性进行配置,标签声明如下:清单1。使用标签配置属性实例一 文本( 连接器= 连接器(名称=“DS”,类型= ConnectorType.RelationDatabase),键=“身份证” CONFIGS = 配置(区域“EN_US”,表=“国家”,列=“country_en”,keyValueField =“ID”), 配置=“国
7、家(区域=”zh_CN的“表”,列=“country_ch”的keyValueField =“ID”) ) 连接器属性连接器ID字段,它标识该表内的唯一记录。国际化配置项配置表示名称名称值,需要查询国家库表的country_en字段,并由ID字段确定是哪一条记录,其中的语言环境=“en_US”表示表示它为英文环境的配置信息,映射国表的country_en字段,关键字段为ID。2。以资源文件为例,建立国家对象的国家名称属性名称与资源文件中英文国家名称之间的映射。清单2。使用标签配置属性实例二 文本(连接器= 连接器(名称=“myresource的,类型= ConnectorType.PropertiesFile) 关键=“COUNTRY_NAME”,CONFIGS = 配置(区域=“en_US”表示),配置(区域=“ZH_CN”) ) 连接器属性连接器的配置表示资源为名为myresource的资源文件,键表示关键字是COUNTRY_NAME,国际化配置的项配置的配置分别表示中英文资源文件的后缀。国际化资源处理器的设计和实现如图5所示,是处理器接口,及两个处理器实现类之间的关系类图。图6。
8、国际化处理器类图设计出的国际化处理器由一个接口,两个实现类组成。处理器接口处理器 资源文件国际化支持处理器功能:根据关键字的关键,从资源文件的源中获取静态信息的属性值。其类图如图7所示。图7。资源文件国际化支持处理器类图1. 初始()初始化方法的设计和实现目的:用于初始化资源文件的国际化支持处理器,设置资源文件名资源和关键字键的值。资源文件的国际化支持处理器初始化功能状态图如图8所示。图8。资源文件国际化支持处理器初始化功能状态图关键代码实现如下所示:清单3。资源文件国际化支持处理器的初始()方法关键代码 弦乐rsName = text.connector的()名();/ /由配置标签文本中读取资源文件名称 / /获取资源文件 资源资源= context.getResource( “类路径:的”+ rsName +“_”+ config.locale()+“物业”); setResource(资源); / /设置资源文件 SETKEY(text.key();/ /读取配置标签,设置关键字的关键值2. 处理()处理方法的设计和实现资源文件国际化支持处理器手柄()方法功能流程如图9所示。图
9、9。资源文件国际化支持处理器手柄()方法功能状态图关键代码如下所示:清单4。资源文件国际化支持处理器手柄()方法关键代码 属性属性=新的属性();/ /加载资源文件 properties.load(resource.getInputStream(); retVal的对象= properties.getProperty(键)/ /根据关键字取得属性值; 关系数据库国际化支持处理器功能:从关系数据库中存取动态信息。获取对象的属性标签中的OR映射配置信息,在关系数据库中查询该属性。其类图如图10所示。图10。关系数据库国际化支持处理器类图属性:该处理器有5个属性,TABLENAME为数据库表名称的ColumnName为与属性一一映射的字段名称,KEYNAME为该表的关键字段,的keyValue为确定唯一记录的关键字段的值。以上4个属性,为访问数据库提供支持,通过它们拼装完整的SQL语句,数据源是数据源名称。 初始()初始化方法的设计和实现目的:用于初始化关系数据库国际化支持处理器,设置与访问数据库相关的5个属性的初值。其中TABLENAME的ColumnName由参数配置标签中的表,列配置信息获取。KEYNAME由参数文本标签的属性键获取DataSource的由参数文本的连接器属性连接器的名称中的配置信息获取。关键代码实现如下所示:清单5。关系数
《基于AOP的动态数据国际化框架的设计与实现》由会员桔****分享,可在线阅读,更多相关《基于AOP的动态数据国际化框架的设计与实现》请在金锄头文库上搜索。