MyEclipse2017開發環境本身提供Struts 2,Spring 3和Hibernate 4支持,因此在給項目添加這些框架支持的時候,通過MyEclipse嚮導來完成,而不採用手工添加的方式。
系統開發前,首先要搭建環境,包括創建項目、添加 Spring 3,Hibernate 4和Struts 2支持,配置事務管理
一、創建項目
創建一個名爲netbank的Web Project,選擇Jave EE的版本爲“java EE 7.0”,Java版本爲1.7,選擇一個Target runtime,如圖所示
二、添加Spring支持
在包資源管理器中,右擊項目名,從彈出的快捷菜單中選擇Configue Facets –>Install Spring Facet命令,彈出Install Spring Facet對話框,如圖所示
MyEclipse2017版本提供的Spring的最高版本是4.1,這裏選擇3.1版本
單擊Next按鈕,進入Configure Spring project界面
通過嚮導添加Spring支持時,會自動在src目錄下新建一個applicationContext.xml的 配置文件,改配置文件是Spring框架的一個重要的配置文件
單擊Next按鈕,進入Add libraries to the project界面,如圖
選擇添加Spring的 Core,Facets,Spring Persistent和Spring Web庫,單擊Finish按鈕,完成Spring支持的添加
三、添加Hibernate支持
添加Hibernate支持前,先切換到MyEclipse Database Explorer透視圖。使用嚮導配置數據庫連接信息,打開如圖所示的DB Browser透視圖。
在DB Browser透視圖中,右擊,從彈出的快捷菜單中選擇Nes命令,彈出如圖所示的Database Driver對話框
Driver template選擇爲”MySQL Connect/J”,表示使用的是MySQl數據庫;Driver name是連接信息名,可以任意填寫,這裏填寫爲“bank”;Conection URL爲連接數據庫的完整的JDBC URL,這裏爲”jdbc:mysql://localhost:3306/bank”;User name爲要連接到數據庫的用戶名,這裏爲”root”,Password爲要連接到數據庫的用戶名的密碼。單擊Add JARs按鈕,添加MySQL數據庫的驅動包。添加完成後,Driver classname旁下拉列表中自動填寫了用於連接到JDBC數據庫的類,這裏用的是MySQL的JDBC類。所有信息填寫完後,可以單擊Test Driver按鈕測試數據庫連接是否成功。單擊Finish,完成數據庫連接信息。
然後在包資源管理器中右擊項目名,從彈出的快捷菜單中選擇Configure Facets–>install Hibernate Facet命令,彈出如圖Install Hibernate Facet對話框
選擇Hibernate版本和運行時。單擊Next,進入如果Hibernate Support for MyEclipse界面
Spring整合Hibernate之後,後者的配置信息可以寫在Spring配置文件applicationContext.xml中,因此Create/specify hibernate.cfg.xml file複選框默認不選中,即不需要創建Hibernate配置文件hibernate.xml.
由於Spring提供了獲取Session的方法,因此Hibernate提供的HibernateSessionFactory這個用於獲取Session的類也不再需要了,故取消Create SessionFactory class複選框的選擇狀態 。在圖中,單擊Next,進入如圖所示的Specify Hibernate database connection details界面
在圖中,指定了Spring數據源連接的細節信息,其中,數據源的Bean的Id爲dataSource,數據源採用JDBC Driver方式,用戶只需要從DB Driver下拉列表中選擇前面創建的數據庫連接信息“bank”,餘下的選項就會自動顯示出來。
單擊Next,進入如圖所示的Add libraries to the project界面
默認選擇了Hibernat的核心庫,用戶可根據需要添加Hibernate的擴展庫。單擊Finist,MyEclipse將安裝Hibernate Facet,安裝結束後,彈出如圖所示”是否打開關聯的透視圖”對話框。
可單擊打開這個透視圖,或單擊No按鈕不打開。用戶最終可單擊Open Perspective按鈕,進入MyEclipse Java Persistence透視圖
四、添加Struts2支持
在包資源管理器中,右擊項目名netbank,從彈出的快捷菜單中選擇Configure–>install Apache Struts2(2.x) Facet命令,在Configure Web Struts 2.x setting對話框中選擇URL pattern 爲 ”/*”,如圖所示
至此,就完成了Spring 3,Hibernate 4和Struts 2支持的添加。
五、配置事務管理
基於Annotation方式的事務管理可以 防止Spring配置文件過於臃腫。Spring 3爲事務管理提供了@Transactional註解,通過爲@Transactional指定不同的參數,以滿足不同的事務要求。由於使用了註解技術,首先需要在標記中添加與context相關的命名空間:
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd"
>
使用MyEclipse嚮導給項目添加Spring和Hibernate支持後,會自動地在Spring配置文件中聲明一個Hibernate事務管理器和基於@Transactional註解方式的事務管理,如下所示
<!--Hibernate事務管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- 基於@Transactional註解方式的事務管理 -->
<tx:annotation-driven transaction-manager="transactionManager" />
爲了使用Annotation註解,需要在Spring配置文件中開啓註解處理器
<!--開啓註解處理器 -->
<context:annotation-config />