1J2EE软件开发规范2011-06-072内容简介1.统一开发工具2.统一开发环境3.统一开发流程4.样例代码演示3统一开发工具4统一开发工具开发工具编程工具:EclipseIDEforJavaEEDevelopers(3.6.2+)版本控制:TortoiseSVN(1.6.15+)项目构建:ApacheAnt(1.8.0+)单元测试:ApacheJUnit(4.8.0+)文本编辑:UltraEdit(17.0.0+)服务器Web应用服务器:Tomcat(7.0.12+)HTTP服务器:Apache(2.2.16+)数据库(测试):MySQL(5.1.57+)5统一开发工具设置工作目录工程目录–D:/SVN优化Eclipse修改初始内存取消动画效果关闭拼写检查取消启动插件禁用验证功能6优化Eclipse–修改内存设置7优化Eclipse–取消动画效果General→Appearance8优化Eclipse–关闭拼写检查General→Editors→TextEditors→Spelling9优化Eclipse–取消启动插件General→StartupandShutdown10优化Eclipse–禁用验证功能Validation11统一开发环境12统一开发环境设置编码方式统一设置为“UTF-8”包括:java、jsp、js、css、properties、xml文件等新增用户库包括:lib_run、lib_test、lib_servlet代码格式化导入formatter文件(team-formatter.xml)导入imports文件(team.importorder)关闭无用的警告关闭“withoutserialVersionUID”警告导入工程源码工程视图默认为“Java”工程目录做一些定制13统一开发环境–设置编码方式General→Workspace14统一开发环境–新增用户库Java→BuildPath→UserLibraries15统一开发环境–代码格式化Java→CodeStyle→Formatter导入team-formatter.xml16统一开发环境–代码格式化Java→CodeStyle→OrganizeImports导入team.importorder17统一开发环境–关闭无用的警告关闭“withoutserialVersionUID”警告Java→Compiler→Errors/Warnings18统一开发环境–导入工程源码操作步骤1.利用TortoiseSVN检出源码2.打开Eclipse并建立工程3.从现有代码导入4.定制目录结构右键→ImportsViewMenu→Filters19统一开发流程20代码管理规范提交提交前先更新(避免代码冲突的好习惯)每天17:30前请务必将稳定的代码提交到SVN上提交前需要注意一些问题【见后文】最后一次提交代码后向其他同事发送邮件通知更新每天10:00前请务必从SVN上更新所有代码尽量做到频繁更新更新代码后立即编译,然后运行单元测试21代码管理规范评审每周四下午进行代码评审检验代码规范与代码质量检验核心代码逻辑是否合理对于不合格的代码需要重新调整22提交代码前需要注意确保自己将要提交的代码无错误且无警告提交前先进行代码格式化(Ctrl+Shift+F)提交前先进行imports清理(Ctrl+Shift+O)尽可能快地将自己稳定的代码提交到SVN上非Java代码不要自动格式化但要保证代码缩进务必在提交时编写一些提交说明23样例代码演示24样例代码User组件配置文件web.xmlspring.xmlspring-mvc.xmlspring-cxf.xmlController类UserControllerHelper类UserHelperJSP文件user.jspuser_list.jspuser_edit.jspDemo应用配置文件web.xmlspring.xmlspring-hibernate.xmlspring-cxf.xmlEntity类User.javaService接口及其实现类UserService.javaUserServiceImpl.javaTest类UserServiceTest25代码规范–Entity类1.使用@Entity注解2.使用@Table注解3.表名为“组件名_实体名”(小写)4.继承BaseEntity类5.属性或方法中间空一行6.属性需定义默认值7.属性需编写注释8.属性固定取值需在注释中定义9.属性可使用的数据类型包括:String、int、long、double,不要使用Date、float26代码规范–Service接口1.使用@WebService注解2.每个方法都需编写注释27代码规范–Service实现类1.使用@Component注解2.使用@Transactional注解3.继承BaseService类4.注入Dao接口5.通过dao对象所提供的方法实现CRUD操作28代码规范–Test类1.在类上使用@ContextConfigration注解2.需要定义的bean写在spring-test.xml文件中3.继承AbstractTransactionalJUnit4SpringContextTests类4.使用@Test注解定义需要测试的方法5.测试方法无返回值6.测试方法名为“接口方法名Test”7.使用Assert类的assertXXX()方法验证测试结果29代码规范–Controller类1.使用@Controller注解2.继承BaseController类3.使用@Resource注解注入WebService客户端4.使用@RequestMapping注解绑定URL请求5.方法第一个参数必须为HttpServletRequest6.在Controller的方法内部捕获异常7.当捕获异常后返回“error”逻辑视图8.对代码进行分块并在每块上增加注释30URL映射规范RequestControllerView/userUserIndexController#indexuser/index.jsp/user/userUserController#useruser/user.jsp/user/user/searchUserController#userSearchuser/userList.jsp/user/user/pagerUserController#userPageruser/userList.jsp/user/user/editUserController#userEditnull/user/user/saveUserController#userSaveredirect:/user/user/user/deleteUserController#userDeleteredirect:/user/user/user/deleteAllUserController#userDeleteAllredirect:/user31UML类图32谢谢!Q&A