1. 程式人生 > >簡單搭建註解ssh專案(一)

簡單搭建註解ssh專案(一)

  • 1.使用的IDE:Myeclipse2013
  • 2.使用資料庫:mysql
  • 3.使用hibernate:hibernate4.1.4,spring:spring3.1,struts2:struts2-2.3.16
  • 4.jdk1.6    tomcat6

OK,環境準備好之後就可進行框架搭建了

1.在myeclipse中新建一個web專案

2.新增框架支援(為了不用寫xml配置檔案,一會兒就刪掉),分別新增spring,hibernate,struts2,版本就用自帶最新的即可

2-1:新增spring框架:下一步下一步即可

2-2:新增hibernate框架之前我們先新增資料來源的配置,以後就不需要再次配置了。

1.切換一個工作臺到hibernate

2.建立資料來源

3.我們使用mysql,儲存密碼

4.點選Test  Driver,如果出現以下內容表示連線成功

5.下一步直到結束為止。

2-3:新增hibernate框架:注意如圖

1.不需要SessionFactory Class.因為我們將SessionFactory交給Spring管理

2.選擇剛剛建立的資料來源,下一步到結束為止

2-4:新增Struts2的框架支援:下一步即可:注意如圖,將核心控制器的過濾規則改為/*

3.新增完框架支援之後,將三個框架的支援在remove掉(右擊builder path:remove掉即可),刪除之後就是這個樣子

4.新增專案所需要的jar包:

還缺少三個包:下載地址(一定要加入這三個jar包。struts註解使用)

5.編輯spring的配置檔案

5-1.匯入context名稱空間

5-2.開啟註解自動掃描:會掃描com.yy包下所有包中所有帶註解的類。在spring中將這些類管理起來

<context:component-scan base-package="com.yy"></context:component-scan>
5-3.開啟持久化類的自動裝配:
<bean id="sessionFactory"
	class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
	<property name="dataSource">
		<ref bean="dataSource" />
	</property>
	<!-- 這一段就不需要了 -->
	<!-- <property name="hibernateProperties">
		<props>
			<prop key="hibernate.dialect">
				org.hibernate.dialect.MySQLDialect
			</prop>
		</props>
	</property> -->
	<!-- 實體類自動掃面裝配 -->
	<property name="packagesToScan" value="com.yy.po">
	</property>
</bean>
5-4.配置宣告式事務
<!-- 配置宣告式事務 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
	<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 匯入tx名稱空間 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
5-5.spring配置檔案的內容目前:
<?xml version="1.0" encoding="UTF-8"?>
<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:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
					    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
					    http://www.springframework.org/schema/context
					    http://www.springframework.org/schema/context/spring-context-3.1.xsd
					     http://www.springframework.org/schema/tx
					    http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">


	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="url" value="jdbc:mysql://localhost:3306/company">
		</property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
		<!-- 這一段就不需要了 -->
		<!-- <property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
			</props>
		</property> -->
		<!-- 實體類自動掃面裝配 -->
		<property name="packagesToScan" value="com.yy.po">
		</property>
	</bean>
	<!-- 開啟註解自動掃描 -->
	<context:component-scan base-package="com.yy"></context:component-scan>
	
	<!-- 配置宣告式事務 -->
	<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<!-- 匯入tx名稱空間 -->
	<tx:annotation-driven transaction-manager="transactionManager"/>
</beans>
6.struts2的配置檔案內容:
<struts>
	<!-- 將spring的action建立交給spring管理 -->
	<constant name="struts.objectFactory" value="spring"></constant>
	<!-- 開啟動態方法呼叫 -->
	<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
</struts>