自己编写的struts2+spring+springJdbc框架---设计思路

=============================== 框架 ==================================

◆技术框架
目标:
搭建 Struts2+Spring+SpringJDBC 框架

任务:

一、规范
1.命名规则:
模块:
维护 mai,审核 aud,查询 sea;
类:
action\MaiXXXAction,service\MaiXXXService

2.路径规则:
类: org.bcm.子系统.模组.模块.action\service\view\config\exception

二、参考
1.appfuse
2.springside V1,V2,V3
3.http://www.iteye.com/topic/47085 一种快速开发的Java Web架构设计和实现
4.Rapid-framework

三、搭底层技术框架(封装struts2/spring、提供基础类) -----------OK
1.应用struts2实现以下功能:
URL直接映射到 Action的method;----实现mapper ----?
根据请求数据自动封装MapBean; ----实现interceptor ---OK
根据返回的jsp路径进行转发 ----实现result ---OK

2.应用spring实现以下功能: ----OK
数据源
初始化DataBase元数据

3.应用spring JDBC 实现持久化操作
BaseDao ----基本sql操作 ----OK
PoDao ----持久化po ----OK
sqlbuilder --- 把po转化为sql(参考ddlutils) -----OK
sqlmap ---sql外部资源化,放入xml ----??
提供一个门面类,统一所有操作 ----OK

4.基础类: (参考springside\appfuse\rapid) ----OK
org.bcm.base.action.BaseAction
org.bcm.base.service.BaseService
org.bcm.base.dao.BaseDao
org.bcm.base.exception.BaseException
org.bcm.base.bean.MapBean
org.bcm.base.dao.BasePo

四、技术组件
1.tree树形
xtree
xloadtree
extree

2.tab标签 ----OK
jquery tab

3.grid列表 ----OK
ecside

4.表单绑定 -----OK
jodd form

5.表单校验 ----OK
validation with Prototype

6.装饰器sitemesh ----OK

7.提供公共技术组件
(1).公共筛选
jar包
service中SQL操作
页面(tab标签、列表、图片)

(2).批次维护

五、功能点改进
1.管理资源文件 ,各种常量、通用信息 :Constants 类 ----OK
2.异常框架 ----OK
美化、完善错误页面


六、后期考虑
1.把sql从代码清除掉,放入SQL资源文件
2.模版:FreeMarker ----暂不考虑
3.缓存框架:数据层缓存
4.js基库
5.js高精度计算库
6.页面显示格式化(标签/js)
7.防止重复提交
8.Assert 使用Spring的Assert类,将对函数输入参数进行各种形式的校验
9.日志
10.事务处理包含select语句
dao层提供方法,由程序员手动控制事务,例如:提供如下两个方法:
startTransaction();开始事务
commitTransaction();提交事务
处于这两个方法中间的数据库操作则自动处于同一事务中.
(注意其中的风险,程序员可能没有提交事务,导致资源挂起)
11.美化、完善错误页面
12.数据库端分页

◆业务框架

1.权限管理
维护用户
维护角色
维护功能模块

要求:
组织机构、用户、角色、模块(应用、子系统、模组、模块、功能)
权限系统:
维护主体(角色、用户、组织机构)、
维护客体(功能、资源)、
分配权限、
校验权限、
获取权限、
提供公共方法
任务:搭基本业务框架
权限管理:用户、角色(角色赋权)、模块重构(应用、子系统、模组、模块、功能);
安全管理:校验权限、获取权限
3.安全框架:后台验证每个操作的权限

2.平台platform
function:
System,SubSystem,ModuleGroup,Module,function
actor:
User,Role
authority:
FunctionAuthority

3.登录
认证
授权

4.工作台
管理内存、session(应用、子系统、模组、模块)
方案1:编写类SessionManager,调用方式 setAttribute(key,value,scope),其中scope取值request、module、modulegroup、subsystem、system;
方案2:编写类Module、ModuleGroup、SubSystem、System 。继承自HashMap

5.组织机构管理
维护机构
维护人员

6.业务流程管理
业务单据
业务流程模版
业务流程实例
自定义审批流程

7.基础数据管理
数据字典
系统参数

8.系统监控
性能监控
在线用户
日志
记录当前登录人信息

9.提供公共业务组件
模块配置组件
权限
业务流程定义

10.FAQ常见问题
提供实施 或 客户 录入问题处理经验


=====================================================================

项目首页:
http://code.google.com/p/bcm-myframework/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值