- 浏览: 695498 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (364)
- quick start (57)
- bboss aop (43)
- bboss mvc (48)
- bboss persistent (96)
- bboss taglib (30)
- bboss event (10)
- bbossgroups (52)
- bboss (32)
- bboss会话共享 (17)
- bboss rpc (7)
- bboss 国际化 (5)
- bboss 序列化 (9)
- bboss cxf webservice (8)
- bboss hessian (3)
- bboss 安全认证SSO (15)
- bboss 工作流 (6)
- 平台 (18)
- bboss quartz (3)
- 杂谈 (5)
- 大数据 (1)
- bboss elastic (24)
- bboss http (1)
- bboss kafka (1)
- Elasticsearch Scroll和Slice Scroll查询API使用案例 (1)
最新评论
-
qianhao123:
...
采用gradle构建和发布bboss方法介绍 -
qianhao123:
[img][/img]
采用gradle构建和发布bboss方法介绍 -
yin_bp:
欢迎大家参与working
高性能elasticsearch ORM开发库使用介绍 -
qq641879434:
万分感谢
bboss 持久层sql xml配置文件编写和加载方法介绍 -
yin_bp:
qq641879434 写道怎么设置配置文件 可以查看执行的S ...
bboss 持久层sql xml配置文件编写和加载方法介绍
本文介绍bbossgroups 中的对象xml序列化技术,涵盖基础数据类型、复杂对象、异常对象、文件对象、二进制数组、容器对象(List,Map,Set,Array)以及各种类型的组合结构,其特点是api简单,转换效率高,生成的xml简洁易懂,可读性好,可以通过aop框架组件管理容器直接加载xml串获取其中的对象。切入正题。
目 录 [ - ]
1.对象xml序列化技术实战策略
2.对象xml序列化组件及接口
3.对象xml序列化技术实例
1.对象xml序列化技术实战策略
对象xml序列化技术实战策略
1.1.从附件中下载本文涉及的实例eclipse工程xmlserializable.zip
http://dl.iteye.com/topics/download/d534eae3-c4c2-3afd-8405-30befd4acfd8
1.2.将xmlserializable.zip 解压后将工程导入eclipse开发环境
1.3.执行测试用例,即可查看本文中涉及功能的实际效果
/xmlserializable/test/org/frameworkset/soa/SOAApplicationContextTest.java
2.对象xml序列化组件及接口
2.1.对象xml序列化组件
org.frameworkset.soa.ObjectSerializable
2.2.对象xml序列化接口
ArrayBean bean1 = new ArrayBean();
String xmlcontent = ObjectSerializable.convertBeanObjectToXML("beanname",beanObject ,ArrayBean.class);
2.3.xml反序列化接口
ArrayBean bean1 = ObjectSerializable.convertXMLToBeanObject("beanname",xmlcontent,ArrayBean.class);
3.对象xml序列化技术实例
对象xml序列化技术非常简单,本实例展示了以下功能:
a.如何将包含文件和异常的对象序列化成xml串,然后又从xml串中恢复这些对象
b.如何将List对像及内部的对象序列化成xml串,然后又从xml串中恢复这些对象
需要特别说明一点的是,文件对象的序列化,我们直接将文件对象对应的文件内容以二进制流的方式序列化到xml串中,反序列化时将文件的二进制流保存在一个临时文件对象中,用户可以很方便地访问文件的内容(后续可以可虑通过注解指定要存放的临时文件的目录,现在直接采用了os默认的临时目录)。
依赖的bboss框架包请及时更新新版本
有什么问题,多交流,有助于bbossgroups的完善。
目 录 [ - ]
1.对象xml序列化技术实战策略
2.对象xml序列化组件及接口
3.对象xml序列化技术实例
1.对象xml序列化技术实战策略
对象xml序列化技术实战策略
1.1.从附件中下载本文涉及的实例eclipse工程xmlserializable.zip
http://dl.iteye.com/topics/download/d534eae3-c4c2-3afd-8405-30befd4acfd8
1.2.将xmlserializable.zip 解压后将工程导入eclipse开发环境
1.3.执行测试用例,即可查看本文中涉及功能的实际效果
/xmlserializable/test/org/frameworkset/soa/SOAApplicationContextTest.java
2.对象xml序列化组件及接口
2.1.对象xml序列化组件
org.frameworkset.soa.ObjectSerializable
2.2.对象xml序列化接口
ArrayBean bean1 = new ArrayBean();
String xmlcontent = ObjectSerializable.convertBeanObjectToXML("beanname",beanObject ,ArrayBean.class);
2.3.xml反序列化接口
ArrayBean bean1 = ObjectSerializable.convertXMLToBeanObject("beanname",xmlcontent,ArrayBean.class);
3.对象xml序列化技术实例
对象xml序列化技术非常简单,本实例展示了以下功能:
a.如何将包含文件和异常的对象序列化成xml串,然后又从xml串中恢复这些对象
b.如何将List对像及内部的对象序列化成xml串,然后又从xml串中恢复这些对象
需要特别说明一点的是,文件对象的序列化,我们直接将文件对象对应的文件内容以二进制流的方式序列化到xml串中,反序列化时将文件的二进制流保存在一个临时文件对象中,用户可以很方便地访问文件的内容(后续可以可虑通过注解指定要存放的临时文件的目录,现在直接采用了os默认的临时目录)。
依赖的bboss框架包请及时更新新版本
评论
3 楼
yin_bp
2011-06-29
ainidehsj 写道
学习一下。
有什么问题,多交流,有助于bbossgroups的完善。
2 楼
ainidehsj
2011-06-28
学习一下。
1 楼
yin_bp
2011-06-27
3.1.对象xml序列化技术实例类
3.2.相关的对象类-ArrayBean
3.3.相关的对象类-FileBean
/* * Copyright 2008-2010 biaoping.yin * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.frameworkset.soa; import java.beans.IntrospectionException; import java.util.ArrayList; import java.util.List; import org.junit.Test; import com.frameworkset.util.ValueObjectUtil; /** * <p>Title: SOAApplicationContext.java</p> * <p>Description: </p> * <p>bboss workgroup</p> * <p>Copyright (c) 2008</p> * @Date 2011-5-9 下午06:12:52 * @author biaoping.yin * @version 1.0 */ public class SOAApplicationContextTest { @Test public void bytearraybeantoxml() throws NumberFormatException, IllegalArgumentException, IntrospectionException { ArrayBean bean = new ArrayBean(); Exception e = new Exception("异常发生。"); bean.setE(e); String content = "<?xml version=\"1.0\" encoding=\"gbk\"?>" + "<esb>"+ "<call>"+ "<!-- 调度中心需要的数据开始 -->"+ "<property name=\"soamethodcall\" " + "class=\"org.frameworkset.soa.SOAMethodCall\" "+ "f:requestor=\"requestor\" "+ "f:requestid=\"1000000\" "+ "f:password=\"requestpassword\" "+ "f:encypt=\"encrypt\" "+ "f:encyptalgorithem=\"algorithm\" "+ "f:serviceid=\"hilaryserviceid\" "+ "f:issynchronized=\"true\" >"+ "<!-- 调度中心需要的数据结束 -->"+ "<!-- 调度中心提交给服务提供方的服务方法信息 -->"+ "<property name=\"soamethodinfo\" class=\"org.frameworkset.soa.SOAMethodInfo\" " + "f:methodName=\"methodname\">"+ "<property name=\"paramTypes\">"+ "<array componentType=\"Class\">"+ "<property >String</property>"+ "<property >String</property>"+ "<property >String[]</property>"+ "</array>"+ "</property>" + "<property name=\"params\">"+ "<array componentType=\"object\">"+ "<property name=\"condition\">1=1</property>"+ "<property name=\"orderby\">order by ${A}</property>"+ "<property>"+ " <array componentType=\"String\">"+ "<property>A</property>"+ "<property>B</property>"+ "</array>"+ "</property>"+ "</array>"+ "</property>" + "</property>" + "</property>"+ "</call>"+ "</esb>"; bean.setArrays(content.getBytes() ); String xmlcontent = ObjectSerializable.convertBeanObjectToXML("beanarray",bean, bean.getClass()); System.out.println(xmlcontent); ArrayBean bean1 = ObjectSerializable.convertXMLToBeanObject("beanarray",xmlcontent,ArrayBean.class); System.out.println(new String(bean1.getArrays())); System.out.println(bean1.getE()); } @Test public void filebeantoxml() throws Exception { FileBean bean = new FileBean(); bean.setFile(ValueObjectUtil.getClassPathFile("org/frameworkset/soa/datasource-sql.xml")); String xmlcontent = ObjectSerializable.convertBeanObjectToXML("beanfile",bean, bean.getClass()); System.out.println(xmlcontent); FileBean bean1 = ObjectSerializable.convertXMLToBeanObject("beanfile",xmlcontent,FileBean.class); System.out.println(ValueObjectUtil.getFileContent(bean1.getFile(),"UTF-8")); } @Test public void beanstoxml() throws Exception { FileBean fbean = new FileBean(); fbean.setFile(ValueObjectUtil.getClassPathFile("org/frameworkset/soa/datasource-sql.xml")); ArrayBean bean = new ArrayBean(); String content = "<?xml version=\"1.0\" encoding=\"gbk\"?>" + "<esb>"+ "<call>"+ "<!-- 调度中心需要的数据开始 -->"+ "<property name=\"soamethodcall\" " + "class=\"org.frameworkset.soa.SOAMethodCall\" "+ "f:requestor=\"requestor\" "+ "f:requestid=\"1000000\" "+ "f:password=\"requestpassword\" "+ "f:encypt=\"encrypt\" "+ "f:encyptalgorithem=\"algorithm\" "+ "f:serviceid=\"hilaryserviceid\" "+ "f:issynchronized=\"true\" >"+ "<!-- 调度中心需要的数据结束 -->"+ "<!-- 调度中心提交给服务提供方的服务方法信息 -->"+ "<property name=\"soamethodinfo\" class=\"org.frameworkset.soa.SOAMethodInfo\" " + "f:methodName=\"methodname\">"+ "<property name=\"paramTypes\">"+ "<array componentType=\"Class\">"+ "<property >String</property>"+ "<property >String</property>"+ "<property >String[]</property>"+ "</array>"+ "</property>" + "<property name=\"params\">"+ "<array componentType=\"object\">"+ "<property name=\"condition\">1=1</property>"+ "<property name=\"orderby\">order by ${A}</property>"+ "<property>"+ " <array componentType=\"String\">"+ "<property>A</property>"+ "<property>B</property>"+ "</array>"+ "</property>"+ "</array>"+ "</property>" + "</property>" + "</property>"+ "</call>"+ "</esb>"; bean.setArrays(content.getBytes() ); List beans = new ArrayList(); beans.add(fbean); beans.add(bean); String xmlcontent = ObjectSerializable.convertBeanObjectToXML("listObject",beans, List.class); System.out.println(xmlcontent); List copybeans = ObjectSerializable.convertXMLToBeanObject("listObject", xmlcontent, List.class); System.out.println(copybeans.size()); } }
3.2.相关的对象类-ArrayBean
/* * Copyright 2008-2010 biaoping.yin * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.frameworkset.soa; /** * <p>Title: ArrayBean.java</p> * <p>Description: </p> * <p>bboss workgroup</p> * <p>Copyright (c) 2008</p> * @Date 2011-5-14 上午11:31:32 * @author biaoping.yin * @version 1.0 */ public class ArrayBean { private byte[] arrays; private Exception e; /** * @return the arrays */ public byte[] getArrays() { return arrays; } /** * @param arrays the arrays to set */ public void setArrays(byte[] arrays) { this.arrays = arrays; } /** * @return the e */ public Exception getE() { return e; } /** * @param e the e to set */ public void setE(Exception e) { this.e = e; } }
3.3.相关的对象类-FileBean
/* * Copyright 2008-2010 biaoping.yin * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.frameworkset.soa; import java.io.File; /** * <p>Title: FileBean.java</p> * <p>Description: </p> * <p>bboss workgroup</p> * <p>Copyright (c) 2008</p> * @Date 2011-5-14 上午11:32:24 * @author biaoping.yin * @version 1.0 */ public class FileBean { private File file; /** * @return the file */ public File getFile() { return file; } /** * @param file the file to set */ public void setFile(File file) { this.file = file; } }
发表评论
-
bboss ioc快速入门教程
2017-08-13 11:28 1276bboss是一个非常不错的ioc框架,功能类似于spr ... -
bboss ioc配置文件中使用外部属性文件介绍
2016-09-20 11:35 1145bboss ioc配置文件中使用外部属性文件介绍 与spri ... -
bboss与spring中配置和引用bboss数据源和bboss dao组件方法说明
2016-08-10 16:04 918首先在项目中导入bboss 持久层包: maven坐标 & ... -
bboss ioc提供的组件初始化工具类介绍
2016-03-18 16:17 738bboss ioc提供的组件初始化工具类介绍 bboss i ... -
扩展bboss ioc语法实现自定义的ioc依赖注入功能
2015-01-20 23:08 1331bboss ioc配置语法简洁而严谨,提供了强大的依赖注入功能 ... -
bboss序列化cglib代理对象方法介绍
2014-06-22 15:14 1162本文介绍bboss序列化cglib代理对象方法。经过cglib ... -
bboss自定义类对象序列化机制介绍
2014-05-26 23:32 1471bboss自定义类对象序列 ... -
bboss session共享时序列化存储jasperreports报表对象JasperPrint方法
2014-05-11 11:55 1108bboss session共享时序列化存储jasperrepo ... -
bboss将一个组件同时发布为webservice,hessian,http三种服务方法介绍
2014-04-12 14:31 1657bboss将一个组件同时发布为webservice,hessi ... -
bboss发布apache cxf 2.7.6服务和定义客户端服务实例可能产生冲突解决办法
2014-03-22 23:16 1091bboss发布apache cxf 2.7.6服务和定义客户端 ... -
bboss 发布和使用hessian服务方法介绍
2013-02-25 23:21 2114hessian是一款性能非常不错的RPC通讯组件,最近抽空将b ... -
bboss quartz组件全攻略
2013-01-27 13:31 2622bboss quartz组件全攻略 本 ... -
bboss aop拦截器使用简介
2012-11-29 23:20 1209bboss aop拦截器使用简介, ... -
bboss ioc容器之间组件引用方法简介
2012-08-04 15:09 1337bboss ioc容器之间组件引用方法简介。我们可以在ioc容 ... -
Rest协议框架-bboss rpc
2012-08-03 12:51 1356restful风格rpc服务协议rest,定义的语法如下: ... -
解决cxf+bboss发布的webservice缺少<wsdl:types>和<wsdl:message>标签的问题
2012-06-19 10:11 1793cxf+bboss发布webservice服务 ... -
开源工作流引擎activiti与bboss整合使用方法浅析
2012-05-01 11:35 5224本文介绍开源工作流引擎activiti与bboss ioc框架 ... -
bboss aop/ioc组件配置语法诠释
2012-03-01 18:38 2206这篇文章全面介绍bboss ioc 配置语法,希望对 ... -
bboss aop/ioc依赖注入功能介绍
2012-02-12 14:40 1769bboss aop 3.5及后续版本中改进的ioc依赖注入功能 ... -
bboss 序列化功能详解
2012-01-27 11:04 1666bboss 序列化功能详解,bboss序列化组件是bbossg ...
相关推荐
消息源则用于国际化和本地化,ReloadableResourceBundleMessageSource允许在运行时重新加载消息资源。 接着,我们关注控制器配置。bboss MVC中的控制器是业务逻辑和视图之间的桥梁,通常由...
在Java开发中,bbossgroups 3.1框架提供了一个名为SQLExecutor的组件,用于简化数据库操作。这个组件提供了一种高效的批处理和单条SQL执行的方式,它基于Apache License 2.0开源,允许开发者在遵守相应条款的情况下...
1. **模块化设计**:bbossgroups 3.0 采用模块化设计,使得各个组件可以独立使用,增强了代码的复用性和可维护性。开发者可以根据项目需求选择相应的模块,降低系统的复杂度。 2. **高性能的消息队列**:...
### bbossgroups 3.0 发布,国内首款集成多技术的企业级J2EE开发框架 #### 概述 近日,bbossgroups 3.0 正式发布,这款国内首款集AOP(面向切面编程)、MVC(模型-视图-控制器)、Persistent(持久化)、JSP ...
4. **国际化与主题管理**:Bbossgroups支持多语言环境,通过MessageResource实现国际化消息资源管理,而Theme机制则允许用户自定义界面主题,满足不同用户的个性化需求。 5. **RESTful架构**:Bboss支持RESTful风格...
**bbossgroups 3.1培训教程** bbossgroups 3.1是一个企业级J2EE开发框架,自2005年以来不断发展和完善,旨在提供高效、稳定的开发工具和...随着不断的发展和更新,bbossgroups将持续为企业级应用提供强大的技术支持。
该框架包含222个文件,包括164个Java源文件、14个XML配置文件、6个Gradle构建文件、6个JAR包文件、6个属性文件等,旨在支持跨域应用集群节点的会话共享与监控,并提供示例站点http://session.bbossgroups.com/...
12. bboss:bbossgroups是首个集成AOP、MVC、持久层、JSP标签库、分布式RPC服务和序列化组件的JavaEE企业级开发框架。 13. BeeFramework:BeeFramework是iOS平台的快速开发框架,特点包括易学易用、组件丰富,提供...
BBoss(全称为bbossgroups)是一个专为企业级J2EE应用设计的开源框架,它为Java开发者提供了一系列强大的工具和服务,以简化Web应用程序的开发过程。该框架旨在提高开发效率,降低维护成本,同时保持高度的灵活性和...
弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的... 首先将BBoss的maven依赖项添加到pom.xml中: < dependency> < groupId>com.bbossgroups.p
标题 "bboss mvc 通过jsonp实现跨站跨域远程访问" 涉及到的主要知识点是关于Web开发中的跨域通信技术,特别是利用JSONP(JSON with Padding)来解决AJAX请求时遇到的同源策略限制。在互联网应用中,浏览器的安全策略...
java版地图源码弹性搜索Bboss Bboss 是一个很好的 elasticsearch Java rest 客户端。 它以类似于mybatis的方式操作...首先将BBoss的maven依赖添加到你的pom.xml中: < dependency > < groupId >com.bbossgroups.p