轉自:http://hefeng1987-net-163-com.iteye.com/blog/941344spring
以前說了一下我所寫的這個SSH2 OA項目所用的框架與工具.今天就來總結一下從搭建SSH2開發環境的過程到即將發佈的機構管理這個小模塊開發的實現思路. express
我所作這個項目的目的是來鞏固複習Hibernate 和Spring這兩個框架(Struts2一隻在用).其基本思路和架構也都想好了,也打算利用晚上下班的時間來作出來.想法趕不上計劃啊!這段時間有一些其餘的事情,再者感受身體不是怎麼好,情緒也受到影響,可能以後就抽出空去搞了.這裏就把前幾天所寫的來公佈於衆.供你們學習.因爲我也是剛剛參加工做,也沒什麼開發經驗.代碼寫的有不足的地方請你們提出寶貴的意見與看法.
1.首先是搭建環境
雖然我是的是MyEclipse來開發,但我沒有藉助MyEclipse來幫助我,我所有是手動的方式來構建SSH2環境的.其三個框架所依賴的jar沒有一個多餘的,作到jar依賴的最小化.
整個項目架構是:
下面是application.xml中的(applicationcontext-common.xml)關鍵代碼:
- <?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:aop="http://www.springframework.org/schema/aop"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
-
- <!-- 配置sessionFactory -->
-
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <property name="configLocation">
- <value>classpath:hibernate.cfg.xml</value>
- </property>
- </bean>
-
- <!-- 配置事務管理器 -->
- <!-- 配置事務管理器bean,使用HibernateTransactionManager事務管理器 -->
- <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory">
- <ref bean="sessionFactory"/>
- </property>
- </bean>
-
- <!-- 配置事務的傳播特性 -->
- <!-- 配置事務特性,配置add,delete,update開始的方法,事務傳播特性爲required -->
- <tx:advice id="txAdvice" transaction-manager="transactionManager">
- <tx:attributes>
- <tx:method name="add*" propagation="REQUIRED"/>
- <tx:method name="delete*" propagation="REQUIRED"/>
- <tx:method name="modify*" propagation="REQUIRED"/>
- <tx:method name="*" read-only="true"/>
- </tx:attributes>
- </tx:advice>
-
- <!-- 那些類的哪些方法參與事務 -->
- <!--
- <aop:config>
- <aop:advisor pointcut="execution(* com.oa.manager.*.*(..))" advice-ref="txAdvice"/>
- </aop:config>
- -->
- <!-- 配置那些類的方法進行事務管理,當前com.oa.manager包中的子包, 類中全部方法須要,還須要參考tx:advice的設置 -->
- <aop:config>
- <aop:pointcut id="allManageMethod" expression="execution(* com.oa.manager.*.*(..))" />
- <aop:advisor pointcut-ref="allManageMethod" advice-ref="txAdvice"/>
- </aop:config>
-
- <!-- 那些類的哪些方法參與事務 -->
- <!--
- <aop:config>
- <aop:advisor pointcut="execution(* com.oa.manager.*.*(..))" advice-ref="txAdvice"/>
- </aop:config>
- -->
- </beans>
2.機構管理的功能實現:
代碼我打包上傳了,效果實現過程能夠看我所寫的代碼.(不知道怎麼搞的,它不讓我上傳了!!!)