




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京传智播客教育 ,基于元数据的开发平台,胡 欣,北京传智播客教育 ,元数据的概念理解,关于数据的数据,也就是用描述数据的数据。,事物,元数据1,数据1,数据2,数据3,.,元数据2,元数据3,北京传智播客教育 ,元数据应用场景1,数据,元数据,北京传智播客教育 ,基于元数据的开发平台的作用,通过配置方式快速搭建中小型信息管理系统 可用于分布式架构(权限管理 ),北京传智播客教育 ,元数据系统中的信息类,信息类 通过元数据方式定义出来的一个信息节点就称为信息类,一个信息类对应数据库中的一张表,对应Hibernate中的一个实体类。一个信息类由多个信息属性组成,每个信息属性对应表中的一个字段,对应实体类中的一个成员变量。,北京传智播客教育 ,基于元数据开发平台功能介绍,信息类的树形管理 信息类的元数据定义 信息类的CRUD功能 信息类的访问控制 基于Spring Web Services的信息类服务接口,北京传智播客教育 ,基于元数据开发平台功架构图,信息类元数据,平台引擎,信 息 类 服 务 接 口,访问控制服务,CRUD服务,管理控制台,信息类数据,UI组件,企 业 级 应 用 系 统,北京传智播客教育 ,核心功能开发思路分析,Hibernate,元数据(XML),实体映射文件,实体类,velocity 模板引擎,javassist 框架,元数据系统,动态加载,元数据定义,北京传智播客教育 ,树的两种存储方式比较,XML方式 加载时无需进行处理,天然就是树形结构 适合于后台的配置管理功能,并发性差 数据库表方式(id,text,parentid) 加载时需进行排序处理 适合大量用户操作的树,并发性好,北京传智播客教育 ,“信息目录管理” 业务用例分析,技术点: ExtJs tree控件 JAXB(Java Architecture for XML Binding) OXM Schema(是用于描述和规范XML文档的逻辑结构的一种语言),北京传智播客教育 ,“信息元数据定义” 业务用例分析,技术点: Velocity模板框架 Javassist字节码框架 Hibernate动态加载,北京传智播客教育 ,“信息数据维护” 业务用例分析,北京传智播客教育 ,系统中使用到的相关技术点汇总,Schema JAXB Velocity Javassist springSecurity springWs Extjs,北京传智播客教育 ,XML Schema 语言,XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD) XML Schema作用(定义 XML 文档的合法构建模块,类似 DTD) 定义可出现在文档中的元素 定义可出现在文档中的属性 定义哪个元素是子元素 定义子元素的次序 定义子元素的数目 定义元素是否为空,或者是否可包含文本 定义元素和属性的数据类型 定义元素和属性的默认值以及固定值,北京传智播客教育 ,Schema文件的根元素, (1) xmlns=“/2001/XMLSchema“ 引入w3c命名空间 (2)targetNamespace=“.“ 指定当前Schema文件的命名空间,北京传智播客教育 ,定义组成XML元素和属性,element 元素定义一个xml元素 element自身的主要属性 : id、name、type attribute 元素定义一个xml元素的属性 attribute 自身的主要属性: id、name、ref 、type、use,北京传智播客教育 ,Schema语言(XSD)主要数据类型,基本类型 简单类型simpleType 复杂类型complexType,北京传智播客教育 ,XSD 基本类型,最常用的类型是:string decimal integer boolean date time 例子: Smith 28 1980-03-27 这是相应的简易元素定义: ,北京传智播客教育 ,XSD的简单类型定义simpleType,值的限定(pattern和enumeration),Aud1,北京传智播客教育 ,XSD的简单类型定义simpleType,合并了两个简单类型的简单类型,北京传智播客教育 ,XSD的简单类型定义simpleType,定义单个 simpleType 定义的集合,北京传智播客教育 ,XSD的复杂类型定义complexType,复杂类型的元素是包含其他元素和/或属性的 XML 元素。,北京传智播客教育 ,XML对Schema进行引用,指定默认的命名空间 指定带前缀的命名空间 声明xsi标准命名空间 使用xsi:schemaLocation为每个命名空间指定具体的schema文件,北京传智播客教育 ,JAXB概述,JAXB(Java Architecture for XML Binding,Java XML绑定架构)是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。 该技术可以提供将XML实例文档反向生成Java对象树的方法。能将Java对象树的内容重新写到XML实例文档。 另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java对象,从而使得Java开发者在Java应用程序中能方便加载XML数据,并以XML文件作为数据存储方式。,北京传智播客教育 ,JAXB架构图,北京传智播客教育 ,JAXB实现包括以下组件,Schema编译器(xjc.exe) xjc -d java类目录路径 -p 包名 schema文件名 Schema生成器 (schemagen.exe) 绑定运行时框架 (rt.jar下的javax.xml.bind包) JAXBContext、Marshaller、Unmarshaller,北京传智播客教育 ,JAXB序列化(对象转xml),JAXBContext context = JAXBContext.newInstance(clazz); Marshaller m = context.createMarshaller(); m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); m.setProperty(Marshaller.JAXB_ENCODING, charsetName); m.setProperty(Marshaller.JAXB_FRAGMENT, false); if( schemaLocation != null ,北京传智播客教育 ,JAXB反序列化(xml转对象),JAXBContext jaxbContext ; Object object = null ; jaxbContext = JAXBContext.newInstance(clazz); StreamSource stremSource = new StreamSource(inputStream) ; /反序列化 Unmarshaller unmarshaller = jaxbContext.createUnmarshaller() ; object = unmarshaller.unmarshal(stremSource) ;,北京传智播客教育 ,在Spring中使用JAXB,北京传智播客教育 ,Velocity概述,Velocity是一个基于java的模板引擎。它使得开发人员通过强大的模版语言来与Java中定义的对象进行交互。 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。 生成源代码(rapidFramework) 生成配置文件 veloeclipse - /svn/trunk/update/,北京传智播客教育 ,模板引擎运行原理,模板引擎,模板文件,数据,输出,北京传智播客教育 ,Velocity基本语法,变量定义、引用 #set 变量名 定义变量 ,例如:#set( $foo = “bar“ ) $变量名 用来输出引用的变量, 例如:$foo 用来明确标识Velocity变量 ! 用来强制把不存在的变量显示为空白 java对象的引用 $对象.属性 用来输出对象的属性 $对象.方法 调用对象的方法 $对象 调用对象的toString()方法输出 用来明确标识对象 ! 用来强制把不存在的对象显示为空白 条件判断语句 #if 、#elseif 、#else、#end 循环语句 #foreach、in #end 注释 # 和 #* *#,北京传智播客教育 ,Velocity基本开发步骤,当Velocity应用于开发时的基本步骤 设置模板文件的基准目录 初始化Velocity 创建Context对象 添加数据到Context 选择模板 合并模板和数据产生输出页面或文件,北京传智播客教育 ,Spring整合Velocity,引入velocity.jar和velocity-tool.jar spring配置文件加入如下配置,北京传智播客教育 ,Javassist概述,什么是Javassist (asm、cglib) Javassist是一个开源的分析、编辑和创建Java字节码的类库。是jboss的一个子项目,其主要的优点,在于简单,而且快速。直接使用java编码的形式,而不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成类,北京传智播客教育 ,ClassPool和CtClass,CtClass实例是用来描述一个java的class文件的抽象,可以与一个class文件相关联,并获得一个操作句柄 ClassPool类的实例是CtClass对象的容器,北京传智播客教育 ,Javassist例子(创建新的类),ClassPool pool = ClassPool.getDefault(); CtClass cc = pool.makeClass(“Point“);,北京传智播客教育 ,Javassist例子(copy方式创建新的类),ClassPool pool = ClassPool.getDefault(); CtClass cc = pool.get(“Point“); cc.setName(“Pair“);,北京传智播客教育 ,Javassist例子(继承方式创建子类),ClassPool pool = ClassPool.getDefault(); CtClass cc = pool.get(“test.Rectangle“); cc.setSuperclass(pool.get(“test.Point“); cc.writeFile();,北京传智播客教育 ,Hibernate实体映射文件动态加载,spring容器启动时自定义加载实体映射文件,北京传智播客教育 ,Hibernate实体映射文件热加载,系统运行中,热加载实体映射文件,北京传智播客教育 ,Web Service,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。 Web Service的三要素: wsdl soap uuid,北京传智播客教育 ,什么是WSDL,WSDL 全称Web Services Description Language,是一种接口定义语言 WSDL 是一种使用 XML 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置,以及此服务提供的操作(或方法)。,北京传智播客教育 ,简单对象访问协议SOAP,简单对象访问协议(SOAP)提供了标准的方法来调用Web service。SOAP规范定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP。SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。,北京传智播客教育 ,Spring-WS,基于文档驱动来创建
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业技术学院教育实训基地建设方案
- 小学六年级数学几何单元复习资料
- 2025-2030发酵豆制品微生物菌种筛选与风味物质形成机理报告
- 2025-2030反刍动物专用药用饲料区域市场渗透率调查与预测报告
- 2025-2030动力锂电池梯次利用商业模式与政策激励效果评估报告
- 2025-2030动力锂电池回收利用体系建设与环保标准发展报告
- 2025-2030动力电池模组结构优化设计与降本路径测算
- 2025-2030动力电池梯次利用技术路线与经济性对比分析报告
- 2025-2030动力电池梯次利用市场潜力及经济效益分析报告
- 2025-2030动力电池回收网络建设进度与梯次利用技术经济性分析
- 月嫂证考试试题及答案
- 新生儿高胆红素血症诊治指南(2025)解读
- 羽绒服购销合同协议
- 民间道教考试试题及答案
- 北师大版九年级数学上册《知识解读•题型专练》第05讲一元二次方程的应用(知识解读+真题演练+课后巩固)(原卷版+解析)
- 马拉松志愿者培训
- 保健品会销管理制度
- 国际贸易摩擦对行业影响-全面剖析
- 消防水泵操作流程
- 企业信息化标准规范-全面剖析
- 防高处坠落 物体打击专项施工方案
评论
0/150
提交评论