Eclipse整合JPA + Struts 2 + Spring 2 + AJAX開發(fā)淺析
Tomcat
首先要安裝好Tomcat,如果在安裝的時候遇到任何問題,請查看Tomcat的安裝指南
MySql
安裝并配置MySQL。創(chuàng)建一個名為“quickstart”的數(shù)據(jù)庫,并運(yùn)行下面腳本來創(chuàng)建“Person”表。后面在applicationContext.xml里,我們將使用"root"數(shù)據(jù)庫用戶名和密碼,記得用你自己的數(shù)據(jù)庫設(shè)置來替換它們。
CREATE TABLE 'quickstart'.'Person' |
注:上面的DDL需要保存在文件中,然后在MySQL中導(dǎo)入。我直接復(fù)制然后在查詢分析器中執(zhí)行失敗創(chuàng)建Eclipse項(xiàng)目打開Eclipse,我是認(rèn)真的,你必須打開Eclipse 點(diǎn)擊File -> New -> Project. 選擇"Dynamic Web Project"并點(diǎn)擊下一步(注:如果使用MyEclipse,這里不太一樣) 輸入項(xiàng)目名,這里我使用"quickstart"。這個項(xiàng)目將要在Tomcat中運(yùn)行,所以我們需要為它創(chuàng)建應(yīng)用服務(wù)器配置 在"Target Runtime"下面點(diǎn)擊"New",選擇"Apache Tomcat5.5"并點(diǎn)擊下一步 輸入Tomcat的安裝路徑并選擇一下已安裝的JRE(需要1.5) 現(xiàn)在你應(yīng)該回到了項(xiàng)目創(chuàng)建向?qū)В⑶襎omcat是你的Target Runtime。點(diǎn)擊下一步,選擇"Dynamic Web Module"和"Java"facets,最后點(diǎn)"finish"。 (上面講的都是Eclipse WTP中的配置,如果使用MyEclipse請自行修正)庫依賴關(guān)系你的項(xiàng)目應(yīng)該包含"src","build"和"WebContent"目錄。我們把所有必需的jar文件放在"/WebContent/WEB-INF/lib"目錄下。請復(fù)制它們到${workspace}\quickstart\WebContent\WEB-INF\lib目錄。jar文件名的版本號已經(jīng)被去除了!Jar From xwork.jar Struts 2 struts2-api.jar Struts 2 struts2-core.jar Struts 2 struts2-Spring-plugin.jar Struts 2 ognl.jar Struts 2 freemarker-2.3.4.jar Struts 2 mysql-connector-java.jar MySql JDBC Driver spring.jar Sping 2.0 antlr.jar Hibernate Core asm.jar Hibernate Core asm-attrs.jar Hibernate Core cglib.jar Hibernate Core dom4j.jar Hibernate Core jdbc2_0-stdext.jar Hibernate Core ehcache.jar Hibernate Core hibernate3.jar Hibernate Core xml-apis.jar Hibernate Core commons-collections.jar Hibernate Core ejb3-persistence.jar Hibernate Annotations jta.jar Hibernate Annotations hibernate-annotations.jar Hibernate Annotations hibernate-entitymanager.jar Hibernate Entity Manager javassist.jar Hibernate Entity Manager jboss-archive-browsing.jar Hibernate Entity Manager 右擊項(xiàng)目點(diǎn)“刷新”,通知Eclipse我們加入了很多的jar文件。我使用Struts2.0.6, Spring2.0.3, Hibernate3.2。struts2-api.jar找不到,沒有也可以運(yùn)行成功;Hibernate Annotations和Hibernate Entity Manager需要在Hibernate的主頁上下載,不包括在Core里面;另外jta.jar和javassist.jar在Hibernate Tools里面,同樣要下載;最后,上面列表并缺少一個包,因?yàn)镠ibernate3.2對此有一點(diǎn)小小的修改,你需要把Hibernate Annotations里面的hibernate-commons-annotations.jar拷貝進(jìn)來。領(lǐng)域模型我們的領(lǐng)域模型只有一個簡單的"Person"類,它包含少量的實(shí)例變量。創(chuàng)建一個新類并命名為"Person",然后輸入"quickstart.model"作為包名。 添加"id"(int), "firstName"(String)和"lastName"(String)三個實(shí)例變量,并為它們加上setter/getter方法。 為你的類加上"@Entity"annotation,給"id" 加上 "@Id"和"@GeneratedValue" 注解 你的類如下:
Person.javapackage quickstart.model; |
@Entity讓JPA服務(wù)Provider知道這個類可以被持久化。@Id標(biāo)識"id"域?yàn)檫@個類的主鍵,@GeneratedValue使id域被提供者(Hibernate)自動生成。類和實(shí)例變量默認(rèn)都被映射到同名的表和列上,詳細(xì)情況請查看JPA文檔。Person service.我們現(xiàn)在來寫對"Person"對象進(jìn)行CRUD操作的類。創(chuàng)建一個接口,命名為"PersonService",包名為"quickstart.service" PersonService.java
package quickstart.service; |
@Entity讓JPA服務(wù)Provider知道這個類可以被持久化。@Id標(biāo)識"id"域?yàn)檫@個類的主鍵,@GeneratedValue使id域被提供者(Hibernate)自動生成。類和實(shí)例變量默認(rèn)都被映射到同名的表和列上,詳細(xì)情況請查看JPA文檔。Person service.我們現(xiàn)在來寫對"Person"對象進(jìn)行CRUD操作的類。創(chuàng)建一個接口,命名為"PersonService",包名為"quickstart.service" PersonService.java
2. 創(chuàng)建一個類,命名為"PersonServiceImpl",包名為"quickstart.service" PersonServiceImpl.java
package quickstart.service; |
@PersistenceContext會讓Spring在實(shí)例化的時候給服務(wù)注入一個EntityManager。@PersistenceContext注解可以放在實(shí)例變量,或者setter方法前面。如果一個類被注解為@Transactional,Spring將會確保類的方法在運(yùn)行在一個事務(wù)中。
您正在閱讀:Eclipse整合JPA + Struts 2 + Spring 2 + AJAX開發(fā)淺析
【編輯推薦】


















