一:學(xué)會(huì)如何讀一個(gè)JavaWeb項(xiàng)目源代碼 步驟:表結(jié)構(gòu)-web.xml-mvc-db-spring
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供鳳陽網(wǎng)站建設(shè)、鳳陽做網(wǎng)站、鳳陽網(wǎng)站設(shè)計(jì)、鳳陽網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、鳳陽企業(yè)網(wǎng)站模板建站服務(wù),十余年鳳陽做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
ioc-log- 代碼
1、先了解項(xiàng)目數(shù)據(jù)庫的表結(jié)構(gòu),這個(gè)方面是最容易忘記 的,有時(shí)候我們只顧著看每一個(gè)方法是怎么進(jìn)行的,卻沒
有去了解數(shù)據(jù)庫之間的主外鍵關(guān)聯(lián)。其實(shí)如果先了解數(shù)據(jù) 庫表結(jié)構(gòu),再去看一個(gè)方法的實(shí)現(xiàn)會(huì)更加容易。
2、然后需要過一遍web.xml,知道項(xiàng)目中用到了什么攔
截器,監(jiān)聽器,過濾器,擁有哪些配置文件。如果是攔截 器,一般負(fù)責(zé)過濾請求,進(jìn)行AOP 等;如果是監(jiān) 可能是定時(shí)任務(wù),初始化任務(wù);配置文件有如使用了 spring
后的讀取mvc 相關(guān),db 相關(guān),service 相關(guān),aop 相關(guān)的文件。
3、查看攔截器,監(jiān)聽器代碼,知道攔截了什么請求,這
個(gè)類完成了怎樣的工作。有的人就是因?yàn)槿鄙倭诉@一步, 自己寫了一個(gè)action,配置文件也沒有寫錯(cuò),但是卻怎么
調(diào)試也無法進(jìn)入這個(gè)action,直到別人告訴他,請求被攔
4、接下來,看配置文件,首先一定是mvc相關(guān)的,如 springmvc
中,要請求哪些請求是靜態(tài)資源,使用了哪些 view 策略,controller 注解放在哪個(gè)包下等。 然后是db 相關(guān)配置文件,看使用了什么數(shù)據(jù)庫,使用了
什么orm框架,是否開啟了二級緩存,使用哪種產(chǎn)品作 為二級緩存,事務(wù)管理的處理,需要掃描的實(shí)體類放在什 么位置。最后是spring 核心的ioc
功能相關(guān)的配置文件, 知道接口與具體類的注入大致是怎樣的。當(dāng)然還有一些如 apectj 置文件,也是在這個(gè)步驟中完成
5、log
相關(guān)文件,日志的各個(gè)級別是如何處理的,在哪些 地方使用了log 記錄日志
6、從上面幾點(diǎn)后知道了整個(gè)開源項(xiàng)目的整體框架,閱讀 每個(gè)方法就不再那么難了。
7、當(dāng)然如果有項(xiàng)目配套的開發(fā)文檔也是要閱讀的。
Java語言是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,Java程序的基本組成單元是類,類體中又可包括屬性與方法兩部分。而每一個(gè)應(yīng)用程序都必須包含一個(gè)main()方法,含有main()方法的類稱之為主類。
一: Java程序的主類及其格式
作為一個(gè)可以獨(dú)立運(yùn)行的Java程序,在它的眾多類中必須要有一個(gè)類作為程序的起始類,為了方便,本書把這個(gè)類稱為主類。當(dāng)需要執(zhí)行一個(gè)程序時(shí),人們在java命令后面輸入的便是這個(gè)主類的文件名(也是主類名),因此主類文件是Java運(yùn)行環(huán)境建立起來之后第一個(gè)被裝入虛擬機(jī)的用戶文件。為了使虛擬機(jī)可以找到程序運(yùn)行的起始入口,主類必須為public類,并含有一個(gè)在格式上符合約定的入口方法main(),其格式如下:
public static void main(String[] args){
…
}
其中各參數(shù)含義如下。
main:入口方法名稱。
args:命令行參數(shù),這是一個(gè)String對象數(shù)組。
static:修飾字,說明main()是一個(gè)靜態(tài)方法(類方法)。
public:修飾字,說明main()具有公有訪問屬性。
于是,主類框架的源代碼如下:
public class 主類名{
…
public static void main(String[] args){
…
}
}
Java程序的主類常常使熟悉C/C++的讀者感到迷惑:main()方法不就相當(dāng)于C/C++程序中的主函數(shù)嗎,為什么非得把它放到一個(gè)類里,難道它有什么不同嗎?
沒錯(cuò),Java類中main()方法就相當(dāng)于C/C++程序中的主函數(shù),是一個(gè)入口函數(shù)。之所以把它封裝到一個(gè)類里,而不像C/C++那樣單獨(dú)作為一個(gè)函數(shù)來處理,就本書作者的理解,大概Java的設(shè)計(jì)者們有如下幾個(gè)方面的考慮。
1)Java既然把所有事物都看成了對象,那么就沒有理由不把程序也看成對象,因?yàn)槌绦蛞彩且环N事物。既然是對象,那么它就應(yīng)該屬于某個(gè)類并以程序名來命名。既然程序是一種類,那么main()就應(yīng)該是這個(gè)類的一個(gè)方法,只不過它有些特殊,它是一個(gè)入口方法,并且對它有些特殊規(guī)定,例如其名稱必須為main(),必須是公有靜態(tài)方法,有命令行參數(shù)等。
2)如果把程序封裝成了類,那么包括本程序在內(nèi)的任何程序就都可以根據(jù)需要,隨時(shí)創(chuàng)建這個(gè)類的對象,并通過該對象使用這個(gè)類中的資源,這樣就便于資源共享,從而提高程序的靈活性。
3)Java程序是一種以類為基本單位的模塊化程序,程序被編譯后,每一個(gè)類會(huì)對應(yīng)生成一個(gè)二進(jìn)制字節(jié)碼類文件。如果把程序也封裝成類,那么它的文件就與其他類文件統(tǒng)一起來,而不會(huì)產(chǎn)生其他類型的文件,因而便于管理。
4)之所以把入口方法封裝到類中,其根本目的就是要盡可能平等地看待所有的類。因?yàn)镴ava的最終目的是要以類為基本模塊來實(shí)現(xiàn)可裝配軟件,如果把main()方法封裝到了一個(gè)類中,那么就意味著main()與類的其他方法沒什么本質(zhì)區(qū)別,只不過是分工不同而已。下面很快就會(huì)看到,Java的所有類都可以含有一個(gè)入口方法而成為主類。也就是說,在Java程序中根本就沒有主類、次類之分,這里之所以把帶有main()方法的類稱為主類,是為了表達(dá)方便。
二: JAVA源程序在命令行下的運(yùn)行
class?Bank{
public?void?init(){
System.out.println("Yes,I?can");
}
public?static?void?main(String?args[]){
BankAccount?ba1?=?new?BankAccount(100.00);
System.out.print("Before?transactions,?");
ba1.display();
ba1.deposit(74.35);
ba1.withdraw(20.00);
System.out.print("After?transactions,?");
ba1.display();
Bank?b?=?new?Bank();
b.init();
}
}
class?BankAccount{
private?double?balance;
public?BankAccount(double?openingBalance){
balance?=?openingBalance;
}
public?void?deposit(double?amount){
balance?+=?amount;
}
public?void?withdraw(double?amount){
balance?-=?amount;
}
public?void?display(){
System.out.println("balance?=?"?+?balance);
}
}
三:完整的java源程序應(yīng)該包括下列部分
package語句;
import語句;
public classDefinition; // 公共的類定義部分,至多只有一個(gè)公共類的定義
// java語言規(guī)定該java源程序的文件名必須與該公共類名完全一致
classDefinition; // 類定義部分,可以有0個(gè)或多個(gè)
interfaceDefinition; // 接口定義部分,可以有0個(gè)或多個(gè)
package:java編譯器為每個(gè)類生成一個(gè)字節(jié)碼文件,且文件名與類名相同,這就會(huì)帶來一個(gè)問題:同名的類會(huì)發(fā)生沖突。package便可管理類命名空間。
一般地,具有相同功能的類放在一個(gè)package中。
一個(gè)java源程序至多只能有一個(gè)公共類的定義。
若java源程序有一個(gè)公共類的定義,則該源文件名字必須與該公共類的名字完全相同。
若源程序中不包含公共類的定義,則該文件名可以任意取名。
若一個(gè)源程序中有多個(gè)類定義,則在編譯時(shí)將為每個(gè)類生成一個(gè)。class文件。
三。java編程規(guī)范
包名:全小寫的名詞,中間可由點(diǎn)分割,eg:java.awt.event
類名:首字母大寫,多個(gè)單詞合成,每個(gè)單詞首字母也要大寫,eg: class HelloWorldApp
接口名: 同類名,eg: interface Collection
方法名: 由多個(gè)單詞合成,第一個(gè)單詞通常為動(dòng)詞,首字母小寫,中間的每個(gè)單詞的首字母都要大寫,eg: balanceAccount, isButtonPressed
變量名: 全小寫,一般為名詞,eg: length
常量名: 基本數(shù)據(jù)類型的常量名為全大寫,如果由多個(gè)單詞構(gòu)成,可以用下劃線隔開,eg: int YEAR, int WEEK_OF_MONTH
對象類型的常量,則是小寫混合,由大寫字母把單詞隔開
接口文檔,代碼層次(比如公共方法寫在哪個(gè)class里),哪些為一大類在一個(gè)包下,數(shù)據(jù)字典,就是介紹你這個(gè)項(xiàng)目的架構(gòu)讓后來的人怎么能容易參與開發(fā),交接什么看這個(gè)就可以方便些,輔助作用的一個(gè)文檔一般都是項(xiàng)目經(jīng)理寫
一個(gè)簡單的java程序由java包(如:import java.awt.*)、類聲明 、變量、構(gòu)造方法(可缺省)、方法 這幾部分構(gòu)成。
java程序中至少要有一個(gè)類被聲明為public。
網(wǎng)站標(biāo)題:java源代碼結(jié)構(gòu) java的源代碼
鏈接分享:http://sd-ha.com/article18/doijggp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、建站公司、響應(yīng)式網(wǎng)站、網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)