开发规范(JAVA部分)
2.4 命名规则
2.4.1 共用类
公共用类要求以“功能英文名称(首字母大写)+ Utils”驼峰命名。例如:日期的英文名为date,按照规则要求,命名为:DateUtils 。
2.4.2 业务层
? 业务层接口要求以 I +“模块英文名称(首字母大写)”+ Manager命名。例如:导
航菜单的英文名为navigator,按照规则要求,命名为:INavigatorManager ; ? 接口的实现类要求以“模块英文名称(首字母大写)”+ ManagerImpl 命名。例如:
导航菜单的英文名为navigator,按照规则要求,命名为:NavigatorManagerImpl ;
2.4.3 展现层
? 基类要求以“模块英文名称(首字母大写)”+ActionBase命名。例如:导航菜单的
英文名为navigator,按照规则要求,命名为:NavigatorActionBase ; ? 查询模块列表类要求以List +“模块英文名称(首字母大写)”+ s + Action命名。
例如:导航菜单的英文名为navigator,按照规则要求,命名为:ListNavigatorsAction ;
? 创建模块对象类要求以Create +“模块英文名称(首字母大写)”+ Action命名。例
如:导航菜单的英文名为navigator,按照规则要求,命名为: CreateNavigatorAction ;
? 修改模块对象类要求以Modify +“模块英文名称(首字母大写)”+ Action命名。例
如:导航菜单的英文名为navigator,按照规则要求,命名为:ModifyNavigatorAction ;
? 删除模块对象类要求以Remove +“模块英文名称(首字母大写)”+ Action命名。
本文档仅限内部使用,未经双方许可,请勿扩散到第三方。
第 15 页 共 40 页
开发规范(JAVA部分)
例如:导航菜单的英文名为navigator,按照规则要求,命名为:RemoveNavigatorAction ;
? 对模块对象的操作类要求以“模块英文名称(首字母大写)”+ Operator + Action
命名。例如:导航菜单的英文名为navigator,按照规则要求,命名为: NavigatorOperatorAction 。
2.4.4 模型层
? 模型层存放的是实体类,要求以“模块实体英文名称(首字母大写)”命名。例如:导
航菜单的英文名为navigator,按照规则要求,命名为:Navigator ; ? 属性字段参照Bean属性命名规则。
2.4.5 持久层
? dao接口要求以 I +“模块英文名称(首字母大写)”+ DAO命名。例如:导航菜单
的英文名为navigator,按照规则要求,命名为:INavigatorDAO ;
? 接口的实现类要求以“模块英文名称(首字母大写)”+ DAOImpl 命名。例如:导航
菜单的英文名为navigator,按照规则要求,命名为:NavigatorDAOImpl 。
2.4.6 XML配置
主要配置文件包括spring.xml,struts.xml,mybatis.xml等。
由于这些文件都是分包存放,所以配置文件统一为spring.xml,struts.xml,mybatis.xml。如果模块内的spring,struts,mybatis配置较多时,需要分文件来写,那么可直接在spring,struts,mybatis的后面直接加连接号“-”+名字来命名。如spring-common.xml。
各模块的mybatis sqlmap配置文件放到相应模块的Model包下,一个域模型对应一个sqlMap配置文件,如域模型名为Item,则与域模型相对应的sqlMap文件名为Item.xml。
本文档仅限内部使用,未经双方许可,请勿扩散到第三方。
第 16 页 共 40 页
开发规范(JAVA部分)
1、 spring.xml平台Spring相关组件配置。 Module
? 需要新建一个用户管理模块managerUserModule,设置其父节点是后台管理树
的根节点,也就是设置parentModeulId为#号,然后它的子节点可以设置相应的父节点为managerUserModule,。
? ationURL:指用来访问这个相关模块的命名空间。
? viewType:查看类型,是指要说明此模块节点是要在前台显示还是后台管理的。 ? imgURL:指当我们把这些模块展示在相关树上显示的图标链接。 Fuction
? 确定包含的功能,如增加用户:addUser。 Method
? 增加用户的入口方法:saveAddUser。
? actionUR:指这个入口方法在当前模块命名空间下的访问地址createUser.加一个
点是用来判断最后的后缀,如果是点结尾程序会自动补齐访问链接的后缀,如果是其他后缀直接访问这个链接。
? isDefault:是否默认入口,一个模块功能只能有一个方法作为默认入口。
2、 struts.xml平台struts组件相关配置,开发相关模块的时候注意相关规范
? package:我们可以在模块中定义包以避免命名空间重复,命名规则:
struts-xxx(模块名层)。
? namespace:相关模块的命名空间。这里涉及几个需要注意的地方:这个链接会
和权限关联由过滤器判断命名空间管理权限功能。凡是命名空间在/public/common这个路径下的系统定义为前台没有权限管理的访问链接,凡是命名空间在/manage/common这个路径下的系统定义为后台没有权限管理的访
本文档仅限内部使用,未经双方许可,请勿扩散到第三方。
第 17 页 共 40 页
开发规范(JAVA部分)
问链接。在这个两个路径下面访问的地址,过滤器不作权限判断。其它访问地址会根据rights中配置定义的权限进行过滤。
? extends:在struts配置中需要考虑各种拦截器和错误处理跳转,配置在
struts-interceptor.xml这个文件。 Action
? name:定义action被访问的id命名规范与定义java变量同样的规范。 ? class:就是我们在spring.xml文件已经配置了注入action spring bean的id。 ? result:struts处理跳转,两种跳转方式dispatcher转向和redirect重定向。 ? interceptor-ref:所使用的拦截器。在struts-interceptor.xml这个文件有相关
注释。
3、 mybatis.xml,平台myBATIS相关组件配置
? 配置sqlMap元素的resource属性,指示域模型对应的SQL配置文件的包全路径。
4、 myBATIS的SQLMap文件
配置域模型的增删改查SQL语句,存储过程等;配置文件名与域模型同名。 ? sqlMap根元素的namespace属性,设置成域模型的本身的名字。如域模型名字
为Item.java,那么namespace属性名就为Item。
? typeAlias,resultMap,cacheModel,select,insert,delete,update等元
素的id属性名以“自定英文名字(首字母小写)”命名,多单词使用驼峰命名法。 ? 在使用select,insert,update,delete元素配置增删改查时,id属性的名字规
则为,select的id属性名以get***开头,insert的以add***开头,update的以update***开头,delete的以delete***开头,配合事务中的配置,多单词使用驼峰命名法。可在这些元素中使用复合查询配置。
本文档仅限内部使用,未经双方许可,请勿扩散到第三方。
第 18 页 共 40 页
开发规范(JAVA部分)
? procedure元素,的id属性名以“功能英文名(首字母小写)+Procedure”命
名,使用驼峰命名法。
? sql元素的id属性名以“自定义英文名字(首字母小写)”命名。多个单词可使用
下划线或使用驼峰命名法。
? statement元素的id属性名与sql元素命名规则一致。statement主要配置复合
查询。
5、 ehcache.xml 平台ehcache缓存实现配置文件 6、 system-config.xml 平台系统配置文件
2.4.7 资源文件
平台properties以及国际化资源 配置文件
? commons-logging.properties 公共日志配置文件。 ? config.properties 平台数据连接,基本参数配置等。 ? log4j.properties 平台日志输出保存等相关设置的配置文件。 ? quartz.properties 平台调度组件相关设置的配置文件。 ? oscache.properties 平台oscache缓存实现配置文件
? struts.properties 平台struts组件相关系统配置文件(国际化、上传等)。 国际化资源文件使用标准JSTL标签绑定。通过不同的local读取不同语言的相关资源,国际化资源文件中key的定义规则:模块名称.功能名称.key描述,但此全部小写,多个单词之间用下划线分割。国际化资源配置文件进行分割处理,属于本功能模块的国际化资源文件放到本模块的根包下,在JSP中使用JSTL标签的
全局国际化配置文件如下(直接设置在struts.properties文件中): ? messages开头的资源文件包含相关的国际化资源内容。
本文档仅限内部使用,未经双方许可,请勿扩散到第三方。
第 19 页 共 40 页