




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Spring3Mvc开发平台描述:由于公司现有开发框架使用过于复杂,机械性质的工作还需要人工来完成,每个对应的控制器及视图控制器都要进行手动配置XML文件,还需要在全局容器中进行依赖注入,而且对于业务层还需要人工手动进行事物处理等复杂和重复性质的工作,开发效率低下,所以Amundsen研发小组搭建了一套当前最主流的开发平台【Spring3MVC开发框架】。框架结构及开发规则使用说明如下:一 框架结构主要由以下几部份组成1. Spring + SpringMvc 解释:最底层核心框架1.1 依赖注入1.2 AOP横向切面技术 、ASPECT切面框架1.3 启用Annotation注解及MVC驱动
2、器2. MyBatis 解释:主要应用数据库持久层操作,并且所有相关SQL全部为XML文件方便管理与维护3. SpringSecurity :安全认证框架解释:主要应用于框架的全安性(注:暂时未启用)3.1 用户身份的认证过程3.2 用户的请求进行拦截并分析是否被授权等过程,3.3 会话连接的控制3.4 访问端口及地址转换的控制4. 视图层:支持任何前台交互视图语言4.1 主要交互框架以EXT5.0为主4.2 Flex Builder4.6 Actionscript3.0 语言,用于特殊模块处理应用二 框架目录结构说明1. /src/com/fcx/app/说明:此目录下为Flex管理部份应用
3、所有核心业务(注:非Flex开发人员禁止更改)2. /src/com/longhope/business/说明:此目录下为公司项目所有模块相关的业务文件,每个文件夹都是功能模块的拼音简写(注:文件夹的结构及目录层级是与菜单结构一置的,这样方便对应管理与维护),并且在有效功能模块对应的文件夹下必需要创建“action”、“mapper”、“model”、“service”、”service/impl”等如下文件夹,此结构必需遵循开发框架规则:action :控制器类mapper :Dao接口类及接口所对应的SQLMAP文件 (需要注意的是:所有SQL必需大写,除参数)model : 模型类(即:
4、实体对象)service: 业务接口 service.impl:业务接口的实现类 注意:如果是前后台分离,以远程接口方式开发,那么就是如下的结构,如图所示:前端需要的结构-后端需要的结构3. /i18n说明:国际化管理(注:此部份为系统预留功能,暂时没应用)4. /src/com/fcx/app/androic/src/com/fcx/app/ios说明:移动端开发业务在此目录下开发,因为由于业务的特殊性,web客户端所有请求是需要认证和授权的,而只有移动端是不需要认证授权的,并且所有移动端的请求必需是”.do”结束例如:移动端请求 user/login.do Web端请求 user/logi
5、n.action5. /framework说明:此目录下为框架核心配置文件及系统全局参数等文件;例如 端口等数据配置 /framework/com/fcx/core/ 说明:此目录下为框架所有通用类备注:此目录下所有配置文件禁止开发人员更改,如果需要变更或追加改修通用类等文件请与(谭亮:管理员)开发人员联系6. /lib 开发框架核心业务相关JAR包/lib/common/lib/flex/lib/mybatis/lib/mysql/lib/openCSV/lib/oracle/lib/poi/lib/security/lib/spring/lib/xml说明:所有框架及业务相关JAR包,主要
6、是进行了分类方便管理与维护备注:以上目录结构禁止变更或删除,如果需要追加请联系管理员7. /WebRoot/fileUpload:相关业务文件上传目录 /flex:Flash管理平台及前台调用功能模块等页面相关文件(例如:自定义汇总、报表制度定义) /page:所有管理系统交互页面,注此文件夹下的所有子文件夹都是相关模块拼音简写创建,以及层次结构与菜单一置,不允许随意追加或创建 (注:所有相关开发并互页面必需在此目下创建,并且与功能模块结构一置)/resources:所有相关资源文件(例如:JS,图片,样式等文件)并且都要有序的创建存储,不允许重复/target:存储全局的入口文件及认证成功或
7、失败等跳转文件,还有捕获系统全局性异常文件 /WEB-INF/config/applicationContext-webapp.xml:Spring全局配置文件,不允许开发人员变更perties:数据库连接配置文件perties:日志配置文件( 注:此文件已配置完成,自动按日期创建相关日志文件)/web.xml :项目初始化配置文件 三 开发框架核心配置文件1. applicationContext-jdbc.xml 数据连接池配置!- 2. applicationContext-mybatis.xml 新版MyBatis配置 3. applicationCo
8、ntext-springmvc-servlet.xml 四 开发规则及使用说明 (实例说明:以数据编辑模块为例)1. 控制器:功能模块对应的业务入口1.1 控制器名称:基本都以功能模块名称拼音简写或有代表性的英文+Action;例如:SjbjAction1.2 控制器说明编写:当前控制器的主要功能及作者,创建日期版本等信息,如下:/* * Copyright(c)Consulting Longhope. All rights are reserved * * 数据编辑管理 Action * author TanLiang * version Ver 1.0 2015-08-02 初版 */1.
9、3 控制器注解及名字空间定义:如下Controller /此注解标识为控制器 RequestMapping(Sjbj) /此注解标识为当前控制器的名字空间,而且此名称空间标识必需与菜单ID等数据一置,因为此部份是要与权限相关联的1.4 业务接口的注入:如下Autowired/必需追加此标签,这样业务接口就自动注入 private SjbjService sjbjService;备注:而且所有注入的对象不需要在实现GET、SET等方法1.5 控制器的方法配置:如下1.5.1 对于视图(JSP/PHP/其它前端)层的请求 (备注:对于方法必需追加说明等标识)/* * 功能:数据保存 */Reque
10、stMapping(saveData)/标签为调用的方法public String saveData(S_BS_CORP s_bs_corp,String JsonArray) s_bs_corp = sjbjService.saveData(s_bs_corp,JsonArray);return /page/sjbj/xxx.jsp; /返回到指定视图层路径1.5.2 对于视图(Flex或移动端或返回结果为JSON数据)层的请求RequestMapping(saveData) /标签为调用的方法ResponseBody /对于返回JSON类型数据必需追加此标签,然后返回相应的对象即可因为所有
11、对象或集合数据都会被框架自动转换为标准的JSON数据结构2. 例如请求: Sjbj/saveData.action3. 实体类:业务相关实体对象,即:POJO类对象与数据表直接对应 如下:Table(S_BS_CORP) public class S_BS_CORP implements SerializablePrimaryKeyColumn(mappedName=S_CORP_UUID)private String S_CORP_UUID;Column(mappedName=S_CORP_CD)private String S_CORP_CD;备注:以上实体类中对应的标签,主要应用自动拼组
12、SQL时的业务逻辑而定义4. Dao接口及SqlMap4.1 文件名称规则同上,例如:数据编辑功能模块,需要注意义的是必需创建一对,其中一个是Dao接口,而另一个是接口所对应的SQL方法,而且接口名称与方法名称还有参数及返回值等参数必需对应,如下:-SjbjMapper.java/ public List queryForList(HashMap map);-SjbjMapper.xml/ SELECT * FROM 数据表 WHERE S_CORP_UUID = #S_CORP_UUID5. 业务接口及业务接口实现类 如下:4.1 接口文件必需放在 service/目录下 SjbjServi
13、ce.java4.2 接口实现类文件必需放在service/impl/目录下 SjbjServiceImpl.java备注:业务层接口的名称必需按照此规则创建,否则可能导至无法正常自动创建事物处理,还需要注意的是,在业务接口实现类中必需设置业务标签注解如下:Service(sjbjService) /此标签必需设置,而名称则还是按模块名称简拼在+Service即可;6. 业务生成器:即以上是配置控制器所产生的相关业务文件,那么这种机械性质的工作还是有些麻烦,所以我们开发了一套业务生成器,也就是说我们只要配置好相关业务的数据表名称,及生成目录然后运行即可自动生成了:实体类、Dao接口、Dao接口
14、对应的SQLMAP、业务接口、业务接口实现类等文件,并且在SQLMAP及接口实现类中已经根据数据表的主外键逻辑自动生成基本业务;业务生成了器类路径为:framework/com/fcx/core/generator/BusinessGenerator.java配置好右键直接运行当前业务生成器类就可以了,所有业务相关文件全部生成了,无须手动去创建,此时只需要在控制器中配置业务接口,然后编辑方法传入相应参数就可以正常运行了,如果当前自动生成的基本业务无法满足,那么开发人员可自行编辑或在此基础上进行改修即可;五 备注开发约定如下:说明:目录结构不允许变更,编写代码必需整洁并追加相应标识及说明,否则被视为垃圾代码,并找到编写人员要求重新整理;1.1 数据库表定义规则:所有系统表都定义为 :S_数据表 所有业务表也就是制度表为:C_表号所有汇总表定义为 :H_表号模版表定义为 :T_表号备注:所有数据表字段名称全部为大写英文字母;1.2 项目中的实体类对象定义规则同上 例如:S_USER (即:系统用户表)1.3 Java开发中的类名定义(主要以模块名称的简写拼音、或有效的英文单词) 如下:控制器:UserAction实体类:S_USER-系统用户表 C_H201-固定资产投资
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能化银行面试题及答案
- 知乎审计实务试题及答案
- 2025年中学教师资格考试《综合素质》核心考点特训题库(含答案)之教育管理选择题
- 2025年成人高考语文经题型强化题库:诗歌鉴赏与文学素养试题
- 2025年小学教师资格考试《综合素质》职业道德重点考题(含答案)
- 2025年输血知识试题及答案
- 2025年西式面点师资格证考试模拟题库解析手册
- 自考专业(会计)全真模拟模拟题附参考答案详解(培优B卷)
- 2025年成人高等学校招生考试《语文》经题型强化题库《诗歌鉴赏方法》试题
- 注册公用设备工程师试题预测试卷及一套答案详解
- 肾动脉狭窄的超声诊断课件整理
- 金丝键合工艺培训汇编课件
- 奥维互动地图使用介绍课件
- 小学语文新课程标准最新版2022
- 室外雨污水、消防管网施工方案
- 传染病学总论-人卫最新版课件
- (中职)计算机组装与维修电子课件(完整版)
- (高职)旅游景区服务与管理电子课件完整版PPT全书电子教案
- 部编版七年级语文上册教案(全册)
- 《汉服》PPT课件(完整版)
- 某国有企业精细管理降本增效经验交流汇报材料企业降本增效.doc
评论
0/150
提交评论