SSH整合步驟
Spring+Struts
1. 在web.xml中注冊偵聽器:
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/beans.xml</param-value>
</context-param>
2. 將Spring的jar包添加到項目中, 除了Spring的jar包以外,還需要struts2-spring-plugin-2.2.1.jar, 將log4j.properties放入src下
3. 在strtus.xml中添加常量:<constant name="struts.objectFactory" value="spring"/>意思是對象工廠由spring來充當
4. 修改Action的代碼,將Action中獲得Dao的方式由原來直接new改成:將Dao作為屬性放入Action
5. 在Spring的配置文件中對項目中用到的類進行配置, 主要是Action和DaoDao配置成單例的
Action配置成原型(每個請求是新的實例進行處理,避免線程安全的問題)
6. 修改struts.xml配置文件,將原來在class中配置的action的完全限定名 修改成 spring配置文件中配置的id屬性
Spring和Hibernate整合
7. 自定義的Dao繼承與Spring提供的類HibernateDaoSupport()類
同時實現自己的接口直接調用HibernateTemplate()實現持久化操作。
8. 在Spring的配置文件中,添加如下配置:
<bean
>
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/stuinfo" />
<property name="username" value="root" />
<property name="password" value="123" />
</bean>
<bean
>
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
將sessionFactory注入到自定義的Dao裏。例如:
<bean >
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
最後更新:2017-04-02 06:52:18