java服务端项目开发规范
更新內容
2015-03-13
(請先更新svn的mybatis.xml、BaseMapper.java、Pager.java文件)
?加入測試類規范
?加入事物控制規范
?加入mapper接口規則
注意問題
一、一定要嚴格按照本文檔的規范進行開發,有利于后期維護和修改。
二、每完成一個接口,需要在maven測試包中加入相應的測試方法。確保測試通過。詳見測試類的添加
三、所有項目文件編碼統一使用UTF8
新項目需要做如下操作:
1.修改工作空間編碼為UTF8。
2.修改項目的編碼為UTF8(項目右鍵-屬性-resource)。
3.修改文件編碼為UTF8(以后新建文件的默認編碼為UTF8),包括properties、xml、java、java class文件等所有的編碼都改為UTF-8。
Eclipse修改工作空間編碼方法:
Eclipse修改文件編碼方法:
命名規范
包命名規范
目的:包的命名規范應當體現出項目資源良好的劃分
控制層包命名規范:公司名稱.開發組名稱.項目名稱.mod.模塊名.controller
例如:com.osen.app.mod.模塊名.controller
邏輯層實現類包命名規范:公司名稱.開發組名稱.項目名稱.mod.模塊名.service.impl
例如:com.osen.app.mod.模塊名.service.impl
邏輯層接口類包命名規范:公司名稱.開發組名稱.項目名稱.mod.模塊名.service
例如:com.osen.app.mod.模塊名.service
DAO層實現類所在包命名規范:公司名稱.開發組名稱.項目名稱.mod.模塊名.dao.impl
例如:com.osen.app.mod.模塊名.dao.impl (不含實現類可以忽略)
DAO層接口類所在包命名規范:公司名稱.開發組名稱.項目名稱.mod.模塊名.dao
例如:com.osen.app.mod.模塊名.dao
POJO類與映射文件所在包命名規范:公司名稱.開發組名稱.項目名稱.mod.模塊名.dao
例如:com.osen.app.mod.模塊名.dao
全局公共類、接口類所在包命名規范:公司名稱.開發組名稱.項目名稱.mod.common
例如:com.osen.app.mod.common
全局公用dao類所在包命名規范:公司名稱.開發組名稱.項目名稱.mod.common.dao
例如:com.osen.app.mod.common.dao
全局公用邏輯接口類所在包命名規范:公司名稱.開發組名稱.項目名稱.mod.common. service
例如:com.osen.app.mod.common. service
全局公用邏輯實現類所在包命名規范:公司名稱.開發組名稱.項目名稱.mod.common. service.impl
例如:com.osen.app.mod.common. service.impl
全局工具類所在包命名規范:公司名稱.開發組名稱.項目名稱.tools
例如:com.osen.app.tools
類命名規范
service接口命名:
業務邏輯接口的命名以POJO名稱來制定,IPOJO名稱Service
命名規范:以大寫字母"I"開頭,如果有多個單詞,每個單詞頭字母大寫
例如:IStudentService
service接口實現類命名:
業務邏輯接口實現類的命名以POJO名稱來制定
命名規范:將實現的接口名稱的首字母"I"去掉,以"Impl作為結尾",如果有多個單詞,每個單詞頭字母大寫。
例如:StudentServiceImpl
Controller類命名:
命名規范:Controller的命名以POJO名稱來制定,POJO名稱+Controller
例如:
一個POJO名稱為User,其對應的Controller為UserController
POJO命名:
與表名一致,如果表名有下劃線”_”,則POJO類去掉下劃線,首字母大寫。(表前綴不需要加入,例如:zz_content表,zz為表前綴,對應的pojo類不需要加zz)
例:User.java,MenuRole.java
Mybatis映射文件命名:
實體類名+Mapper.xml
如:UserMapper.xml
DAO類命名:
實體類名+Mapper.java
如:UserMapper.java
類變量命名:
命名規范:變量名首字母必須小寫,如果該變量名有多個單詞組成,后面的單詞首字母大寫,單詞與單詞之間不要使用"_"做連接,變量名訪問控制必須為私有, 可以對其增加setter與getter方法。
例如:
常量命名:
命名規范:所有字母大寫,如果有多個單詞組成,單詞與單詞之間以” _“隔開。而 且該變量必須是公共、靜態、final類型
例如:public static final String USER_NAME=”userName“;
方法命名:
命名規范:首字母必須小寫,如果該變量名有多個單詞組成,后面的單詞首字母 大寫,單詞與單詞之間不要使用"_"做連接。
例如:public int checkLogin(String name,String pwd){}
注釋規范
注釋規范是整個開發規范中最為重要的組成部分,必須嚴格執行。
ALT+SHIFT+J快捷鍵
可以用eclipse的導入注釋模版的形式
Window->Preferences->Java->Code Style->Code Templates
到wiki上下載注釋的模版文件
類的注釋:
作用:注釋整個類,簡單概述該類作用。
書寫規范:類的注釋必須寫在該類的聲明語法之前。在注釋中要描述該類的基 本作用,作者,日期,版本,公司名稱。
格式:
類的聲明語法
例如:
變量、常量注釋:
作用:簡單描述該變量的意義。
書寫規范:變量注釋必須寫在變量定義之前,簡單描述其代表的意義。
格式:
方法注釋:
作用:對該方法功能簡單描述,其參數、返回值意義的注解。
書寫規范:方法注釋必須寫在方法定義之前。該注釋包括:方法其功能的簡單 描述,方法的參數、返回值類型、返回值意義簡單的描述。
格式:
例如:
/*** 修改管理員密碼* @param adminId 管理員編號* @param oldPassword 舊密碼* @param password 新密碼 * @return boolean 是否編輯成功* @throws UserException* @throws ServiceException*/ public booleaneditAdminPassword(int adminId,String oldPassword, String password) throws UserException,ServiceException;測試類的添加
每一個模塊完成后,在src/test/java中加入junit測試方法,測試類所在的包的命名在測試的模塊所在的包名后加入test,例:
com.osen.app.mod.模塊名.test
測試類的命名:模塊名Test。例如:測試User模塊,則測試類為UserTest.java
事物控制
事物控制統一在邏輯層的實現類中以注解的形式添加,例如:
對UserServiceImpl中的addUser方法需要進行事物控制,操作如下:
1.此方法必須為public
2.在方法名上邊加入
@Transactional(propagation=Propagation.REQUIRED,rollbackFor=Exception.class)
此注解含義為:如果當前方法沒有事物,則加入事物,如果當前方法存在事物,則使用當前方法的事物。事物所控制的異常類型為Exception,即對所有屬于exception的異常進行事物回滾。
3.具體注解參數根據實際業務需要進行適當添加和修改。
注意:需要進行事物控制時,在方法名稱上邊添加事物注解,不要在類名上邊添加全局事物注解,以免影響效率。
mapper接口規則
每新建一個mapper接口類,需要繼承mapper接口基類BaseMapper,例如:
public interface UserMapper extends BaseMapper
接口基類BaseMapper還不完善,大家在開發過程中有需要提取公用接口到BaseMapper中時,請及時提出,共同討論,以便進一步完善。
之前已經寫好的mapper類,如果業務改動量較小,也請添加繼承BaseMapper
轉載于:https://www.cnblogs.com/dreamboy/p/10417836.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java服务端项目开发规范的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos7 安装 opencv
- 下一篇: shell的变量以及常见符号