wmframework v2.0 手册(1-2)系统框架介绍 spring等
2016-05-26 15:37
387 查看
wmframework v2.0 手册(一)系统框架介绍
一、 相关主要技术
1、Spring
Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/d3f3d52d3c7101af50d5ef381e6683ef.jpg)
•核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
•Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
•Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
2、Struts2
Struts2是以WebWork的设计思想为核心
简单处理流程如下:
1)浏览器发送请求
2)中心处理器根据struts.xml文件查找对应的处理请求的Action类
3)WebWork的拦截器链自动对请求应用通用功能,例如:WorkFlow、Validation等功能
4)如果Struts.xml文件中配置Method参数,则调用Method参数对应的Action类中的Method方法,否则调用通用的Execute方法来处理用户请求
5)将Action类中的对应方法返回的结果响应给浏览器
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/ae60d05fa2c42d42ef61bdd79cb110fd.jpg)
3、 ibatis
ibatis 是一个 O/R Mapping 解决方案, ibatis 最大的特点就是小巧,上手很快。如果你不需要太多复杂的功能, ibatis 是能满足你的要求又足够灵活的最简单的解决方案。ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间。
ibatis 底层采用纯JDBC操作,要求操作人员直接编写sql进行操作,光从这点看,ibatis本身就大大地提高数据层操作的透明度。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/46a7a7d60bd45d799db020ab29f99656.jpg)
4、 XML
XML允许开发者建立他们的属于自己的保存信息的标记结构.
XML解析语法是非常明确,而且是一种广泛应用的工具, 它能从在各种各样的环境中XML文件使获得知识.在Unicode基础的基础上建立XML使它更容易建立使国际化文件.
应用能依赖XML分析器确定结构的可靠性,以及进行数据类型检查
XML格式置于文本使他们变得更有阅读,更容易用文件保证其有效性,更容易纠正错误。
XML文件能够利用大部建立在浏览器中的资源。
XML主要有3个组成元素:Schema(模式)、XSL(可扩展样式语言)和XLL(可扩展链接语言)。
5、ajax
Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序,AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/346390c16a384845ba3f1279b88d37aa.jpg)
主要包含的技术
基ajax调用周期web标准(standards-based presentation)XHTML+CSS的表示;
使用 DOM(Document Object Model)进行动态显示及交互;
使用 XML 和 XSLT 进行数据交换及相关操作;
使用 XMLHttpRequest 进行异步数据查询、检索;
使用 JavaScript 将所有的东西绑定在一起。
类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如“AFLAX”。
AJAX的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支
持XSL格式对象,也不支持XSLT。
二、wmframework系统流程框架
1、总体框架
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/b431b23142eecc58b4f1c093606b12c2.jpg)
2、处理时序
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/ea335565d5ea528fe6b5ac83159e35bd.jpg)
[b]3、前台处理流程
[/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/dcc7705e00a0cb8cc6dfc991d3cb3b69.jpg)
[/b]
[b][b]4、后台处理流程[/b][/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/bde3923be9ef6f59da994d0b963becc5.jpg)
[/b]
[b][b]5、前台对象UML[/b][/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/40eb3ec4b9900071b45f0eb9713c1caa.jpg)
[/b]
[b][b]6、后台对象UML[/b][/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/46094aa3865155db980a3a203944e7c2.jpg)
[/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/d95298db116a378109469b52d92c135b.jpg)
[/b]
[b][b]7、交互模型[/b][/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/8a0d7144fa33835625027e61ce4661af.jpg)
[/b]
[b] [/b]
[b][b]三、 运行环境[/b][/b]
tomcat6.0
以上
myeclipse5.0以上
eclipse3.2
jdk6.0
ibatis2.0
struts2.0
spring2.0
wmframework v2.0 手册(二)系统代码生成
1、总体介绍
wmframework实现了基于数据库系统代码自动生成,并完成有两种可供选择的代码生成方式:web代码自动生成系统、可安装插件方式。这里我们提倡使用后者;
可自动生成的文件类型如下: domain(pojo),mapping,sql-map-conf.xml,jsp,dao,spring配置文件,struts2配置文件,对于dao、spring配置文件、struts2配置文件不提倡自定义生成,因为系统已实现有通过处理流程框架;
依据客户或系统需求,可自行定义jsp模板。对于xml、java文件等表头注解,格式内容也可自行定义。
2、方式一:web代码自动生成系统
一个基于wmframework自行开发的web代码自动生成系统,提供程序员远程访问,选择并确认当前需要生成数据表。整个代码生成过程在由代码生成系统统一处理,并提供url链接实时下载使用。
主要执行操作对象:
com.wmframework.codegen.ModuleGenerator 代码生成执行接口
com.wmframework.codegen.Convert 数据转换对象
com.wmframework.codegen.replace.FileReplace文件替换对象
com.wmframework.codegen.replace.TempleReplace 行数据模版替换对象
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/bf945333efdd4a2d3c17b549967a056f.jpg)
传递后台字符串格式说明
*fnstr参考格式:fn1--fn2--...fnn
*format :fieldname-fieldvalue-type-optionname-vos-vo-functionname
* 0 1 2 3 4 5 6
*desc: 字段名称-字段中文名称-元素类型-下拉集合-vos对象-vo对象ID-执行函数
*example: 用户名称-0-null-oaUser-user1-insertUser
2.1 查询页面生成
进入http://192.168.0.58:8080/autocode/
主页面,点击转向查询页面生成,选择操作数据表后,系统自动给出“查询条件列”、“查询结果列”、“查询结果数据对象”等,请确保查询条件和查询结果列的正确选择,同时确认当前生成 相关执行函数是否与sqlmap中的名称一致。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/36ef353e6ad3620d351bd3f1d76e4d2d.jpg)
查询页面生成模版为: WebRoot/temple/listtmp.jsp
2.2 编辑页面生成
进入http://192.168.0.58:8080/autocode/ 主页面,点击转向编辑页面生成,选择操作数据表后,系统自动给出“新增内容列选择”、“数据对象”等,请确保编辑内容列的正确选择,同时确认当前生成
相关执行函数是否与sqlmap中的名称一致。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/a8a72ee1e9ffd5e601ea0fd6807f72cb.jpg)
编辑页面生成模版为: WebRoot/temple/addtmp.jsp
2.3 查看页面生成
进入http://192.168.0.58:8080/autocode/
主页面,点击转向明细页面生成,选择操作数据表后,系统自动给出“明细显示列选择”、“结果数据对象”等,请确保编辑内容列的正确选择,同时确认当前生成 相关执行函数是否与sqlmap中的名称一致。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/3c77e598977317851a70d310ed0273cf.jpg)
明细页面生成模版为: WebRoot/temple/detailtmp.jsp
3、方式二:插件代码生成器
wmframework代码生成器主要是基于ibatis的插件ibator改写而得
使用模式
基于myeclipse插件安装即可。
文件类型
当前可自动生成的文件类型如下: domain,mapping,sql-map-conf.xml,jsp,dao,spring配置文件,struts2配置文件(不提倡,当前系统架构有通用action),其中jsp页面存在模板定制
生成方式
多工程(多个工程一次全部生成),整库(整个数据表一次全部生成),定制表(自定义需要生成数据表)
一个简单的配置文件如下:
?
一、 相关主要技术
1、Spring
Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/d3f3d52d3c7101af50d5ef381e6683ef.jpg)
•核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
•Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
•Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
2、Struts2
Struts2是以WebWork的设计思想为核心
简单处理流程如下:
1)浏览器发送请求
2)中心处理器根据struts.xml文件查找对应的处理请求的Action类
3)WebWork的拦截器链自动对请求应用通用功能,例如:WorkFlow、Validation等功能
4)如果Struts.xml文件中配置Method参数,则调用Method参数对应的Action类中的Method方法,否则调用通用的Execute方法来处理用户请求
5)将Action类中的对应方法返回的结果响应给浏览器
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/ae60d05fa2c42d42ef61bdd79cb110fd.jpg)
3、 ibatis
ibatis 是一个 O/R Mapping 解决方案, ibatis 最大的特点就是小巧,上手很快。如果你不需要太多复杂的功能, ibatis 是能满足你的要求又足够灵活的最简单的解决方案。ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间。
ibatis 底层采用纯JDBC操作,要求操作人员直接编写sql进行操作,光从这点看,ibatis本身就大大地提高数据层操作的透明度。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/46a7a7d60bd45d799db020ab29f99656.jpg)
4、 XML
XML允许开发者建立他们的属于自己的保存信息的标记结构.
XML解析语法是非常明确,而且是一种广泛应用的工具, 它能从在各种各样的环境中XML文件使获得知识.在Unicode基础的基础上建立XML使它更容易建立使国际化文件.
应用能依赖XML分析器确定结构的可靠性,以及进行数据类型检查
XML格式置于文本使他们变得更有阅读,更容易用文件保证其有效性,更容易纠正错误。
XML文件能够利用大部建立在浏览器中的资源。
XML主要有3个组成元素:Schema(模式)、XSL(可扩展样式语言)和XLL(可扩展链接语言)。
5、ajax
Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序,AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/346390c16a384845ba3f1279b88d37aa.jpg)
主要包含的技术
基ajax调用周期web标准(standards-based presentation)XHTML+CSS的表示;
使用 DOM(Document Object Model)进行动态显示及交互;
使用 XML 和 XSLT 进行数据交换及相关操作;
使用 XMLHttpRequest 进行异步数据查询、检索;
使用 JavaScript 将所有的东西绑定在一起。
类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如“AFLAX”。
AJAX的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支
持XSL格式对象,也不支持XSLT。
二、wmframework系统流程框架
1、总体框架
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/b431b23142eecc58b4f1c093606b12c2.jpg)
2、处理时序
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/ea335565d5ea528fe6b5ac83159e35bd.jpg)
[b]3、前台处理流程
[/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/dcc7705e00a0cb8cc6dfc991d3cb3b69.jpg)
[/b]
[b][b]4、后台处理流程[/b][/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/bde3923be9ef6f59da994d0b963becc5.jpg)
[/b]
[b][b]5、前台对象UML[/b][/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/40eb3ec4b9900071b45f0eb9713c1caa.jpg)
[/b]
[b][b]6、后台对象UML[/b][/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/46094aa3865155db980a3a203944e7c2.jpg)
[/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/d95298db116a378109469b52d92c135b.jpg)
[/b]
[b][b]7、交互模型[/b][/b]
[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/8a0d7144fa33835625027e61ce4661af.jpg)
[/b]
[b] [/b]
[b][b]三、 运行环境[/b][/b]
tomcat6.0
以上
myeclipse5.0以上
eclipse3.2
jdk6.0
ibatis2.0
struts2.0
spring2.0
wmframework v2.0 手册(二)系统代码生成
1、总体介绍
wmframework实现了基于数据库系统代码自动生成,并完成有两种可供选择的代码生成方式:web代码自动生成系统、可安装插件方式。这里我们提倡使用后者;
可自动生成的文件类型如下: domain(pojo),mapping,sql-map-conf.xml,jsp,dao,spring配置文件,struts2配置文件,对于dao、spring配置文件、struts2配置文件不提倡自定义生成,因为系统已实现有通过处理流程框架;
依据客户或系统需求,可自行定义jsp模板。对于xml、java文件等表头注解,格式内容也可自行定义。
2、方式一:web代码自动生成系统
一个基于wmframework自行开发的web代码自动生成系统,提供程序员远程访问,选择并确认当前需要生成数据表。整个代码生成过程在由代码生成系统统一处理,并提供url链接实时下载使用。
主要执行操作对象:
com.wmframework.codegen.ModuleGenerator 代码生成执行接口
com.wmframework.codegen.Convert 数据转换对象
com.wmframework.codegen.replace.FileReplace文件替换对象
com.wmframework.codegen.replace.TempleReplace 行数据模版替换对象
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/bf945333efdd4a2d3c17b549967a056f.jpg)
传递后台字符串格式说明
*fnstr参考格式:fn1--fn2--...fnn
*format :fieldname-fieldvalue-type-optionname-vos-vo-functionname
* 0 1 2 3 4 5 6
*desc: 字段名称-字段中文名称-元素类型-下拉集合-vos对象-vo对象ID-执行函数
*example: 用户名称-0-null-oaUser-user1-insertUser
2.1 查询页面生成
进入http://192.168.0.58:8080/autocode/
主页面,点击转向查询页面生成,选择操作数据表后,系统自动给出“查询条件列”、“查询结果列”、“查询结果数据对象”等,请确保查询条件和查询结果列的正确选择,同时确认当前生成 相关执行函数是否与sqlmap中的名称一致。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/36ef353e6ad3620d351bd3f1d76e4d2d.jpg)
查询页面生成模版为: WebRoot/temple/listtmp.jsp
2.2 编辑页面生成
进入http://192.168.0.58:8080/autocode/ 主页面,点击转向编辑页面生成,选择操作数据表后,系统自动给出“新增内容列选择”、“数据对象”等,请确保编辑内容列的正确选择,同时确认当前生成
相关执行函数是否与sqlmap中的名称一致。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/a8a72ee1e9ffd5e601ea0fd6807f72cb.jpg)
编辑页面生成模版为: WebRoot/temple/addtmp.jsp
2.3 查看页面生成
进入http://192.168.0.58:8080/autocode/
主页面,点击转向明细页面生成,选择操作数据表后,系统自动给出“明细显示列选择”、“结果数据对象”等,请确保编辑内容列的正确选择,同时确认当前生成 相关执行函数是否与sqlmap中的名称一致。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/09/3c77e598977317851a70d310ed0273cf.jpg)
明细页面生成模版为: WebRoot/temple/detailtmp.jsp
3、方式二:插件代码生成器
wmframework代码生成器主要是基于ibatis的插件ibator改写而得
使用模式
基于myeclipse插件安装即可。
文件类型
当前可自动生成的文件类型如下: domain,mapping,sql-map-conf.xml,jsp,dao,spring配置文件,struts2配置文件(不提倡,当前系统架构有通用action),其中jsp页面存在模板定制
生成方式
多工程(多个工程一次全部生成),整库(整个数据表一次全部生成),定制表(自定义需要生成数据表)
一个简单的配置文件如下:
?
相关文章推荐
- java运算符
- java基础语法(本人学习java的笔记)
- spring 事务
- java.net.SocketException: socket failed: EACCES (Permission denied)
- 移动支付后台JAVA实现备注
- java之单例模式的七种写法
- java jdk自带的发布服务,wsimport命令生成客户端出错
- Java-排序算法
- 深入理解java虚拟机(6)---内存模型与线程 & Volatile
- eclipse遇到的问题汇总
- (转载)java多态(2)-------Java转型(向上或向下转型)
- JAVA并行异步编程,线程池+FutureTask+callable+ExecutorService
- 设计模式之代理模式
- Java反射详解
- Java 如何判断线程池所有任务是否执行完毕
- 关于Java 中的 i += 1 和 i = i + 1 问题
- 【elasticsearch】elasticsearch 2.x 环境搭建以及常用插件(head,hq,ik)安装
- JAVA调用系统命令或可执行程序
- JAVA模式设计-单例模式 详解
- Javaweb验证登录 Filter