润乾报表设计器中使用 spring 框架实现自定义数据集

spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。在 web 开发环境中经常会与 struts、hibernate联合起来使用,进行规范的框架结构开发。润乾中的二次开发也可以与 SSH 框架相结合部署到 web 项目中。本文介绍在设计时没有启动 web 服务,在设计器中使用 spring 的方式来实现自定义数据集。

实现思路:编写两个自定义数据集,一个在设计器中使用,一个在 web 项目中使用,在设计器中使用的类需要编写临时加载 spring 框架配置文件的代码,启动 spring 框架。Web 项目中的则不需要编写,可直接与 struts 整合,通过监听器的方式启动 struts 框架时同时启动 spring 框架。

第一步:拷贝 spring 框架 jar 包。

使用 spring 的注入方式编写一个简单的自定义数据集,首先需要将 spring 的 IOC 核心容器和对 web 支持的 jar 包拷贝到设计器的 lib 目录下( eportHomedesignerwebWEB-INFlib)。

第二步:编写一个简单的自定义数据集。

 
第三步:进行 spring 注入。

将之前编写的自定义数据集的类,通过 spring 注入的形式来实现,将 spring 的配置文件 applicationContext.xml 放置在 classpath 中(也就是设计器中的 eportHomedesignerwebWEB-INFclasses 目录下)。使用 ApplicationContext 这个接口下的一个实现类 ClassPathXmlApplicationContext 来加载配置文件,需要注意的是,这里可以加载多个配置文件,所以是以数组形势传进的。在 applicationContext.xml 中添加节点,配置 spring 注入的代码,在类中使用 getBean() 方法,根据 xml 中 bean 节点的 id 属性注入。返回的就是该类中定义的这个成员变量了,从而实现了 spring 注入功能。

Spring 配置文件 applicationContext.xml 代码如下:

 
 

Spring 调用类代码如下:

 

将之前编写的自定义数据集和 spring 调用类编译后,把.class 文件放到设计器中的 eportHomedesignerwebWEB-INFclasses 目录下 (主意加上包文件)

第四步:启动设计器实现自定义数据集。

打开设计器,选择自定义数据集,填入 spring 调用类的包名和类名

显示出之前类中定义的列名,生成数据集成功

这样就实现了不启动 web 服务,在设计器中使用 spring 框架实现自定义数据集了。