日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java服务端项目开发规范

發布時間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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方法。
例如:

private int studentAge;public int getStudentAge() {return studentAge;}public void setStudentAge(int studentAge) {this.studentAge=studentAge;}

常量命名:
命名規范:所有字母大寫,如果有多個單詞組成,單詞與單詞之間以” _“隔開。而 且該變量必須是公共、靜態、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上下載注釋的模版文件

類的注釋:
作用:注釋整個類,簡單概述該類作用。
書寫規范:類的注釋必須寫在該類的聲明語法之前。在注釋中要描述該類的基 本作用,作者,日期,版本,公司名稱。
格式:

/* * * 類功能描述:(大致描述類的功能) * @author:編寫者名稱 * * @version: 類文件的版本號 從1.0開始(自己確定版本號的增改 * 情況), 修改情況(修改時間、作者、改動情況) *@Since:2012-12-12 * 相關數據如:(便于理解本類的一些常量數據及某些數據的格式 * 或認為比較重要的數據,如果沒有可省略) */

類的聲明語法
例如:

/** * Title:管理員模塊數據處理類 * Description: 兩個數相加 * * @author 張三 *@Since:2012-12-12 * @version V1.0 */ public class AdminDAO

變量、常量注釋:
作用:簡單描述該變量的意義。
書寫規范:變量注釋必須寫在變量定義之前,簡單描述其代表的意義。
格式:

/** * 變量功能描述:(大致描述變量的功能)*/ 例如:/***定義年齡變量*/ public int age;

方法注釋:
作用:對該方法功能簡單描述,其參數、返回值意義的注解。
書寫規范:方法注釋必須寫在方法定義之前。該注釋包括:方法其功能的簡單 描述,方法的參數、返回值類型、返回值意義簡單的描述。
格式:

/** * 方法功能說明 * @param args (參數類型可以寫在參數后,也可以省 * 略。每個參數占一行) * @return 輸出參數(多種情況寫在同一行) * @exception 異常處理類(方法中能夠引發的異常,每 * 個異常占一行) */

例如:

/*** 修改管理員密碼* @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服务端项目开发规范的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。