創(chuàng)建項(xiàng)目:
打開NetBeans 6.5.1,選擇文件—》新建項(xiàng)目,選擇Java Web,然后在項(xiàng)目列表中選擇 Web 應(yīng)用程序,下一步
選擇使用專用文件夾存儲庫,指定庫文件夾的位置,通常是默認(rèn)的.\lib,即項(xiàng)目文件夾下的lib文件夾,下一步
選擇Web應(yīng)用服務(wù)器。這里選擇Tomcat 6.0.18 ,Java EE版本選擇 Java EE 5,下一步
在框架對話框中什么都不選擇,直接點(diǎn)擊完成。
配置項(xiàng)目:
1. 配置OperaMask
在WEB-INF文件夾下新建一個faces-config.xml文件,內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" version="1.2">
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>
</faces-config>
在新創(chuàng)建的項(xiàng)目中,右鍵單擊“庫”節(jié)點(diǎn),選擇添加庫
然后選擇導(dǎo)入,選擇Spring 2.5庫,選擇導(dǎo)入庫,添加庫。
再次選擇添加庫,然后選擇創(chuàng)建。庫名稱為OperaMask,庫類型為類庫:
在“定制庫”中選擇“添加JAR/文件夾”,在彈出的對話框中選擇OperaMask的基本jar包,并將導(dǎo)入方式指定為:復(fù)制到庫文件夾。
一路選是。
2. 配置Spring以及與OperaMask的整合
然后再創(chuàng)建一個OperaMask_SpringCompatibility庫,將OperaMask中的spring文件夾下的operamasks-spring.jar添加進(jìn)來
然后在新創(chuàng)建的項(xiàng)目中展開WEB-INF文件夾,打開web.xml:按照OperaMask包中的blank樣例程序的配置進(jìn)行配置。
之后,在web.xml中配置如下內(nèi)容:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> |
然后,在源包節(jié)點(diǎn)下創(chuàng)建Spring配置文件applicationContext.xml,選擇如圖所示的幾個命名空間:
選擇完成,然后在Beans節(jié)點(diǎn)之間添加如下內(nèi)容:
<!-- 開啟基于注解的配置 --> <context:annotation-config/> <!-- 使 AOM 中的 LiteBean 同樣能夠被 Spring 所感應(yīng)到 --> <bean class="org.operamasks.faces.spring.ManagedBeanConfigurer"/> |
3. 配置JPA持久化支持
在服務(wù)選項(xiàng)卡中,選擇MySQL數(shù)據(jù)庫驅(qū)動,然后右鍵單擊,選擇連接設(shè)置,配置你要使用的數(shù)據(jù)庫:
數(shù)據(jù)庫配置完畢,然后回到項(xiàng)目選項(xiàng)卡,右鍵單擊剛創(chuàng)建的項(xiàng)目,選擇新建-->其它-->持久性-->持久性單元
在新建持久性單元對話框中選擇持久性庫為Hibernate,即選擇Hibernate為JPA持久單元的實(shí)現(xiàn),數(shù)據(jù)庫連接選擇我們剛配置好的MySQL連接。
單擊完成。此時,Hibernate的JPA庫已經(jīng)被添加到項(xiàng)目的lib目錄下了。包含了基本的Hibernate jar包和Hibernate JPA支持jar包。
注:使用JPA的一個好處就是我們不需要在一個統(tǒng)一的配置文件里羅列所有的實(shí)體類,而是可以讓實(shí)體管理器自動掃描所有被@Entity注解了的實(shí)體類。要實(shí)現(xiàn)這種功能,如果項(xiàng)目的JPA實(shí)現(xiàn)遷移到TopLink Essential,需要加入下面的配置:
找到項(xiàng)目中的“配置文件”節(jié)點(diǎn),打開persistence.xml文件,調(diào)整到XML視圖中,在<provider> </provider>節(jié)點(diǎn)后添加:
<exclude-unlisted-classes>false</exclude-unlisted-classes> 一行。如果希望使用Hibernate實(shí)現(xiàn),請一定不要加入這一行,否則,您必須將您創(chuàng)建的所有實(shí)體類逐一添加到persistence.xml中。
如果要使用Spring提供的JpaTemplate(即實(shí)現(xiàn)JpaDaoSupport方式),則回到spring的applicationContext.xml文件,在<beans>節(jié)點(diǎn)里面添加:
<!-- 利用Spring的實(shí)體管理器工廠來創(chuàng)建JPA實(shí)體管理器,傳入的參數(shù)為persistence.xml中指定的持久化單元名稱 --> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"> <property name="persistenceUnitName" value="DMCSv1PU"/> </bean> <!-- 聲明一個Spring提供的JPA事務(wù)管理器,傳入的參數(shù)正是Spring中的實(shí)體管理器工廠 --> <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory"/> </bean> <!-- 開啟Spring提供的基于注解的聲明式事務(wù)管理 --> <tx:annotation-driven transaction-manager="txManager"/> |
至此,持久化支持配置完畢。
創(chuàng)建實(shí)體類和相應(yīng)的JPA控制類
右鍵單擊項(xiàng)目,選擇新建-->其它-->持久性-->通過數(shù)據(jù)庫生成實(shí)體類,選擇數(shù)據(jù)庫表:
點(diǎn)擊下一步,輸入合適的包名
下一步,映射選項(xiàng)如下圖所示:
選擇新建-->其它-->持久性-->基于實(shí)體類的JPA控制器類,下一步:
添加要生成控制器類的實(shí)體類,下一步:
選擇合適的包,然后完成。
后面的配置無非就是將JPA的控制器類寫入Spring的配置文件,然后在AOM的LiteBean中注入這些控制器類,實(shí)現(xiàn)數(shù)據(jù)庫操作以及相應(yīng)的業(yè)務(wù)邏輯。
注:解決Spring與Hibernate JPA的沖突:
如上圖所示:選擇工具--> 庫 --> 庫位置-->選擇當(dāng)前編輯的項(xiàng)目,選中Spring Framework 2.5,然后去掉cglib2.2那個jar包。這個包與Hibernate JPA中的cglib 2.1.3.jar有沖突
文章來源:http://x-spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!776.entry