Java項目開發的準備工作
一、 概述:
以Java項目開發前的準備工作為主線逐步展開說明其必要性。通過對於Java開發環境的檢查,避免開發或調測時出現因環境問題導致的異常情況發生。從項目工程結構設計的角度,說明結構化設計對於項目工程及過程管理的重要性。
二、 項目開發的準備工作:
1、 開發環境檢查:
1) 相關環境變量配置檢查;
2) 集成開發環境配置檢查:以MyEclipse Professional 2013為例進行說明;
2、 項目工程結構設計:
1) 項目工程原始代碼搭建;
2) 編寫項目工程結構說明文檔;
3) 編寫核心代碼或部分偽代碼;
三、 開發環境檢查:
1、 相關環境變量配置檢查:
1) JDK檢查:
a) JDK版本檢查:
在CMD命令窗口模式下,輸入Java –version
b) 檢查結果:
c) JDK環境變量檢查:
變量名:JAVA_HOME
變量值:D:\Java\jdk1.6.0_22
變量名:CLASSPATH
變量值:D:\Java\jdk1.6.0_22\lib\
變量名:Path
變量值:D:\Java\jdk1.6.0_22\bin;C:\Java\jre1.6.0_22\bin
d) 注意:
I. 儘量不要安裝到系統盤下面,會導致JDK運行不穩定;
II. 儘量不要在安裝路徑中出現空格,會導致JDK運行的編碼異常;
e) 圖解:
2) SVN檢查:
a) SVN版本檢查:
在CMD命令窗口模式下,輸入svn –version或svn –h
b) SVN環境變量檢查:
變量名:Path
變量值:D:\Program Files\TortoiseSVN\bin;
c) 檢查結果:
3) GIT檢查:
a) GIT版本檢查:
在CMD命令窗口模式下,輸入git --version
b) GIT環境變量檢查:
變量名:Path
變量值:D:\Program Files\Git\cmd;D:\Program Files\TortoiseGit\bin
c) 檢查結果:
4) MAVEN檢查:
a) MAVEN版本檢查:
在CMD命令窗口模式下,輸入mvn -version
b) MAVEN環境變量檢查:
變量名:JAVA_HOME
變量值:C:\Program Files\Java\jdk1.7.0
變量名:Path
變量值:D:\Program Files\apache-maven-3.0.4\bin;
變量名:MAVEN_HOME或M2_HOME
變量值:D:\Program Files\apache-maven-3.0.4;
c) 檢查結果:
5) TOMCAT檢查:
a) TOMCAT環境變量檢查:
變量名:TOMCAT_HOME
變量值:D:\Program Files\apache-tomcat-7.0.47
變量名:CATALINA_HOME
變量值:D:\Program Files\apache-tomcat-7.0.47
變量名:Path
變量值:
D:\Program Files\apache-tomcat-7.0.47\bin;
D:\Program Files\apache-tomcat-7.0.47\lib
b) TOMCAT運行檢查:
在CMD命令窗口模式下,輸入startup
c) 檢查結果:
I. 啟動命令窗口:
II. 啟動日誌窗口:
III. 服務網頁訪問:
啟動完成後進入瀏覽器在網址欄輸入或http://127.0.0.1:8080/看到如下圖的頁面說明Tomcat服務啟動成功。
2、 集成開發環境配置檢查:
1) 初始化檢查:
使用文本編輯器打開文件並做相應修改。
D:\Program Files\MyEclipse Professional\myeclipse.ini
-vmargs
-Xmx512m
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=64m
2) 檢查工作空間編碼格式:
3) Java配置檢查:
a) 構建路徑檢查:
b) 代碼格式化樣式檢查:
c) JRE配置檢查:
d) JRE初始化參數配置檢查:
修改JVM的配置項:
-Xms512m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
4) 文件配置檢查:
a) JSP文件配置檢查:
b) XML文件配置檢查:
5) MAVEN配置檢查:
a) 基礎配置檢查:
b) 其他配置檢查:
6) 服務器配置檢查:
7) 代碼校驗配置檢查:
8) 運行調試配置檢查:
9) 版本控制組件配置:
a) GIT配置:
b) SVN配置:
四、 項目工程結構設計:
1) 工程結構截圖:
2) 各部分用途說明:
a) common:通用模塊;
I. action:處理頁面請求動作的Action類;
II. base:提供邏輯處理中所有的基礎能力;
i. action:所有Action類的基類,提供頁面JSON字符串回寫頁面的能力和所使用到對象的注入能力等;
ii. component:提供組件數據處理的能力,例如圖中所示的Excel、Office、PDF導入導出能力;
iii. frame.tpl:提供頁面中菜單、列表查詢、下拉框、枚舉值等數據加載的配置能力;
iv. operate:提供自定義XML文件讀取解析等能力,即將自定義XML文件轉成Java對象;
v. service:提供頁面請求的具體處理邏輯支撐,並提供統一的調用入口;
vi. serviccbuilder:提供構建對象數據的能力,並提供統一的調用入口;
vii. util:提供頁面請求處理邏輯中所有的工具類;
viii. vo:提供Action類與前臺頁面對象的轉換能力;
b) core:數據庫連接工具類;
I. factory:提供各種數據庫連接方式的處理工具類。例如JDBC、C3P0、DBCP、Hibernate等等;
II. hibernate:Hibernate的會話工具類;
III. ibatis:iBatis的相關工具類;
IV. spring:Spring的相關工具類;
c) interfaces:提供廠商接口交互能力;
I. base.model:提供接口通用封裝對象,優化接口方法傳遞參數;
II. common.bo:提供接口通用處理能力,例如接口日誌保存能力;
III. zmtpt:自媒體平臺的拼音縮寫,提交具體廠商接口處理邏輯,還可根據接口的調用方不同創建包進行分別處理。一般情況下,一個廠商創建一個包;
IV. utils:提供接口處理邏輯中所有的工具類;
i. common:通用工具類;
ii. compress:壓縮文件處理工具類;
iii. handler:接口報文解析,數據校驗、轉換、入庫相關處理工具類;
iv. invokingmode:廠商接口調用工具類;
v. opdetail:報文解析、封裝工具類;
vi. remoteconnect:遠程接口工具類及其統一調用入口類。例如FTP、FTTP、Telnet、SSH、SSH2等等遠程接口方式的連接處理工具類;
vii. remoteinvocation:遠程調用工具類及其統一調用入口類。例如Burlup、Hessian、HTTPInvoke、RMI、RPC、WebService等等遠程調用方式的相關處理工具類;
viii. xmldata:報文解析、封裝工具類;
d) proxy:提供各種代理機制的處理能力;
e) rms:提供各種模型處理的能力;
I. base:提供針對模型處理的所有基礎能力,例如枚舉類,各種映射配置類,序列生成器或UUID生成器;
II. service:提供針對模型數據遷移能力;
III. utils:提供針對模型數據處理的所有工具類。例如時間處理、字符串處理,模型對象轉成集合對象的處理(Bean To Map,Map To Bean),常量類;
f) conf.config:提供應用配置能力;
I. properties:提供各種應用的基礎配置能力。例如數據庫連接、遠程連接等等應用的相關配置能力;
II. spring:提供Spring的事務、註解、注入等等一系列的配置能力;
III. xml:提供其他相關的配置能力,包括自定義的XML文件配置;