JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java Application Framework » Spring  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
己加入精華區
by koji at 2008-07-22 09:19
本主題所含的標籤
無標籤
作者 Java Spring 簡單範例操作與學習指引〈2〉 [精華]
kenming





發文: 194
積分: 10
於 2008-07-22 07:03 user profilesend a private message to usersend email to kenmingreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
*** 第一個階段子目標 ***

  1. 確實在 Eclipse IDE工具內建立可以完整開發 Spring-based 的應用程式。
  2. 新增 middle-tier性質專案(純粹是 java class,沒有 UI),撰寫 {員工薪資管理Control.java} 這個控制物件的程式碼框架 (skeleton),新增一個 Spring Beans 的 XML設定檔 (config file),在設定檔內設定該控制物件的相關屬性。
  3. 利用 JUnit 測試框架 (Test Framework, Eclipse 內建),馬上撰寫該控制物件的功能測試程式碼。

  
一、新增專案

  1. 選擇 [File]→[New]→[Project…],當出現 [New Project] 的 wizard 對話框時,選擇 [Spring]→「Spring Project」,然後按下【Next】,出現 [New Spring Project] 對話框內,輸入新增的專案名稱: HRDemo,其它選項照預設即可,按下【Finish】完成,並將 eclipse的視界 (perspective)切至 Java EE。



圖 3、新增 Spring Project 的對話框


  2. 在 [Project Explorer] 的專案視窗內,將滑鼠移至專案的根目錄 (HRDemo)下,右鍵點選 [Build Path]→[Configure Build Path …],出現 [Properties for HRDemo]的對話框,然後將標籤切換至 [Libraries],並點擊【Add Libraries…】,當出現 [Add Library] 對話框後,選擇 [User Library] 然後點擊 【Next】。



圖 4、Add User Library 的對話框


  出現 [User Library] 對話框後,點擊 【User Libraries…】,再點擊 【New…】,在 [New User Library] 的對話框內填入自訂的 Library 名稱,在此例填入:「Spring 2.x Framework」 完成後點擊 【OK】。



圖 5、填入 User Library 名稱


  點擊 【Add JARs】。Spring-based 的專案,至少必須載入三個相關的 jar: spring.jar, commons-logging.jar, log4j-1.2.14.jar。此三個檔案位於在上述所解壓縮 Spring Framework Library (此例目錄為 C:\java\lib\spring-framework-2.X),路徑內的 /dist, /lib/Jakarta-commons, /lib/log4j 目錄下。



圖 6、Spring 專案必要參考的三個 jar 檔


  
二、撰寫類別控制程式碼

  1. 從 [Project Explorer] 專案視窗內,按下滑鼠右鍵,選擇 [New]→[Class],在 [New Java Class] 對話框內,在 「Package」欄位內,填入: hr.demo.hsdc;在「Name」欄位內,填入:員工薪資管理Control。



圖 7、新增 Java 類別 (Class)的對話框


  2. 在 eclipse 程式碼編輯視窗內,撰寫下列 java 程式碼:

員工薪資管理Control.java
1
2
3
4
5
6
7
8
9
10
11
12
package hr.demo.hsdc;
import java.util.ArrayList;
        
public class 員工薪資管理Control {
    public float 計算員工薪資(String id){
        return 0f;
    }
 
    public ArrayList 計算所有員工薪資(){
        return null;
    }
}


*** 在這個階段重點是建立程式碼框架,而不是在細節的正確性。所以只要宣告好該控制類別所需要的功能 (method)、參數、回傳值即可;至於 method 內實做的細節,在建立起整個開發環境的框架後,再回頭來補充實做細節即可。(這是 Iteration 作法關鍵之所在,知道每一個階段的重點目標為何)

  3. 新增第一個 Java Class 程式後,eclipse IDE 的 Java EE視界如下圖所示:



圖 8、新增第一個 Java Class 後 Java EE 的 Layout


  
三、新增 Spring Beans 設定檔 (Config File)

  1. 從 [Project Explorer] 專案視窗內,按下滑鼠右鍵,選擇 [New]→[Other…],然後在 Wizard 對話框內,選擇 [Spring]→[Spring Bean Definition] ,然後點擊 [Next]。



圖 9、選擇新增 Spring Bean XML 設定檔


  在出現的對話框內的 [File Name] 填入自訂的設定檔名稱 (在本例中為 beans-config),並選擇該檔案儲放的位置在 src 目錄下。



圖 10、填入 Spring設定檔名稱與儲放位置


  點擊 [Next],在出現選擇 XSD namespace的對方框內,點選 [bean] 後,在下方的對話框,改選 XSD 定義為符合 Spring 2.0 (spring-beans-2.0.xsd),然後點擊 [Finish] 完成。



圖 11、改選符合 spring 2.0 規格的 XSD 定義


  此時在 [Project Explorer] 專案視窗 src 目錄下,即會新增一個 beans-config 檔。在程式碼編輯視窗下編輯該設定檔內容為:

beans-config:
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
               
      <bean id="EmpControl" class="hr.demo.hsdc.員工薪資管理Control">
      </bean>
</beans>




圖 12、新增 java spring 設定檔後 Java EE 的 Layout


  2. 值得留心的是,若程式碼有用到中文名稱 (如中文類別名稱),那就必須變更 eclipse 預設的編碼,否則在設定檔內有中文名稱的話,會出現 "Invalid byte 1 of 1-byte UTF-8 sequence" 的錯誤訊息。在 eclipse 的功能表 [Project]→[Properties],點選 [Resources],在右邊的「Text file encoding」,把原來是系統預設的編碼,改為 「UTF-8」。



圖 13、改為 UTF-8 編碼,以避免中文問題


  
四、撰寫控制類別的測試程式碼

在 eclipse 環境下要撰寫測試程式碼是非常簡單的一件事。原因是 eclipse 已內建了 JUnit 測試框架 (JUint Test Framework),作為一位程式撰寫人員,最起碼要為每一個控制性的功能(服務)性類別撰寫功能測試程式碼 (functional test code),可以說是軟體品質的最基本保障,也是應該要具備的責任與良心了。

  1. 在 [Project Explorer] 內,選擇 {員工薪資管理Control.java},按下滑鼠右鍵,選擇 [New]→[Other…],然後在 Wizard 對話框內,選擇 [JUnit]→[JUnit Test Case] ,然後點擊 [Next]。在出現的對話框內,填入以下資訊:

    * 點選 「New JUnit 4 Test」。 (新版本的測試框架可以根據 Java 5.0 以上版本的新特徵特性來建構;更簡單、易於使用,以及更敏捷的初始化與清理等工作)
    * Package: hr.demo.hsdc.test (端看 Developer 的習慣,這裡是採用將測試程式碼均放置於原始程式碼所在位置的子目錄下)
    * Name:員工薪資管理ControlTest (測試類別命名的建議為 原類別名稱+Test)
    * 勾選 setUp() method (讓測試類別可進行初始化的工作)


圖 14、新增 JUnit 測試程式碼的對話框


  點擊 【Next】,在出現「選擇測試的 method」對話框時,點選該控制類別所宣告的 method (此例為「計算員工薪資()」、」計算所有員工薪資()」。 一般而言,功能測試的重心會在於測試功能性類別所揭露出的企業邏輯(business logic),這些企業邏輯的演算核心均會被封裝 (encapsulate)在功能性類別所宣告的 method 內。



圖 15、選擇要測試的 method


  2. 編輯測試程式碼內容

員工薪資管理ControlTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package hr.demo.hsdc.test;
 
import static org.junit.Assert.*;
import org.junit.*;
import hr.demo.hsdc.*;
 
public class 員工薪資管理ControlTest {
        private 員工薪資管理Control control;
 
        @Before
        public void setUp() throws Exception {
                control = new 員工薪資管理Control();
        }
 
        @Test
        public void test計算員工薪資() {
                assertEquals(0f, control.計算員工薪資("001"));
        }
 
        @Test
        public void test計算所有員工薪資() {
                assertEquals(null, control.計算所有員工薪資());
        }
}


  3. 執行測試。
  在 eclipse 的工具列 (toolbar)中,選擇 [RUN] (綠色右箭頭符號圖示),在此例中點選「員工薪資管理ControlTest」後,在下方的 [JUnit] 標籤即可顯示測試的結果。 (綠棒代表通過;若有至少一個錯誤,則會出現紅棒)



圖 16、執行 JUnit 測試


  
  
*** 至此已完成第一階段子目標 ***
整個專案目錄備份至 /Stage-1 目錄下。

※延伸參考
 o 原文出處與程式碼下載。
 o Java Spring 簡單範例操作與學習指引〈1〉。


kenming edited on 2008-07-22 07:07
reply to postreply to post
=$∼寸心千里∼$=
= blog: http://www.kenming.idv.tw/
= 軟體課程訊息 http://www.hsdc.com.tw/
» JWorld@TW »  Java Application Framework » Spring

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8