我是靠谱客的博主 美好红牛,最近开发中收集的这篇文章主要介绍搭建struts、spring、hibernate框架的简单流程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

首先到相应的官网下载Struts、Spring、Hibernate的jar包,选择自己需要的版本。此处struts使用的版本为2.3.24,spring使用的版本为4.2.4,hibernate使用的版本为4.3.11。

首先来一张项目的结构图:

项目的jar包截图:

第一步导入jar包,把需要的jar包添加到项目中。

第二步配置struts2,首先新建一个struts2的配置文件struts.xml(名字自己随便取,最好带有struts方便阅读。)struts.xml配置文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<include file="comsshconfigstrutsTest.xml" />
</struts>

修改web.xml,添加struts2的过滤器:

<!-- Struts2.3.24 过滤器配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- 页面请求配置 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

到此struts2的配置就完成了。

第三步配置hibernate和spring,本来这个应该是分开配置的,但是考虑到实际使用,就结合在一下了,因为最终搭建好的项目是没有hibernate的配置文件的,全部居中在spring的配置文件了。同样的需要新建一个spring的xml配置文件,取名为spring.xml(可以随便取名,一般为applicationContext.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:context="http://www.springframework.org/schema/context"
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.xsd
        http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd
       
 http://www.springframework.org/schema/aop
       
 http://www.springframework.org/schema/aop/spring-aop.xsd
       
 http://www.springframework.org/schema/tx
 http://www.springframework.org/schema/tx/spring-tx.xsd ">

<!-- 引入属性文件 -->
<context:property-placeholder location="classpath:db_mysql_config.properties" />

<!-- 配置dbcp数据源,如果使用其他的连接池会配置会有一点点不用 -->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 连接池启动时初始化值 -->
<property name="initialSize" value="10" />
<!-- 最大连接数据库连接数,设置为0时,表示没有限制 -->
<property name="maxTotal" value="20" />
<!-- 可以在池中保持空闲的最大连接数,超出设置值之外的空闲连接将被回收,如设置为负数,则不限制 -->
<property name="maxIdle" value="20" />
<!-- 可以在池中保持空闲的最小连接数,超出设置值之外的空闲连接将被创建,如设置为0,则不创建 -->
<property name="minIdle" value="10" />
<!-- 池在抛出异常前等待的一个连接被归还的最大毫秒数,设置为-1则等待时间不确定 -->
<property name="maxWaitMillis" value="3600000" />
<property name="minEvictableIdleTimeMillis" value="3600000" />
<!-- 在连接池返回连接给调用者前用来进行连接校验的查询sql。如果没有指定,则连接将通过调用isValid() 方法进行校验。 -->
<property name="validationQuery" value="${validationQuery.mysql}" />
</bean>


<!-- 配置sessionFactory  -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<props>
<!-- 打印sql -->
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
<!-- 自动读取实体bean -->
<property name="packagesToScan">
<list>
<value>com.ssh.bean</value>
</list>
</property>
</bean>

<!-- 事务管理 -->
<bean name="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- aop切面配置 -->
<aop:config>
<aop:pointcut id="serviceOperation" expression="execution(* com.ssh.service.*.*(..))" />
<aop:advisor pointcut-ref="serviceOperation" advice-ref="txAdvice" />
</aop:config>

<tx:advice id="txAdvice" transaction-manager="transactionManager">

<tx:attributes>
<!-- 读取数据方法,一般采用只读事务 -->
<tx:method name="get*" read-only="true" />
<tx:method name="query*" read-only="true" />
<tx:method name="find*" read-only="true" />
<tx:method name="load*" read-only="true" />
<!--以下方法,如save,update,insert等对数据库进行写入操作的方法,当产生Exception时进行回滚 -->
<tx:method name="insert*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="create*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="renew*" propagation="REQUIRED" />
<tx:method name="batchCommit*" propagation="REQUIRED" />
<tx:method name="*" rollback-for="Exception" />
</tx:attributes>
</tx:advice>

<!-- 引入Test模块的action配置文件 -->
<import resource="classpath:com/ssh/config/spring_action/Test_Action.xml" />
<!-- 引入Test模块的service配置文件 -->
<import resource="classpath:com/ssh/config/spring_services/Test_Service.xml" />

</beans>

修改web.xml配置文件:

<!-- Spring 配置 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Spring 配置文件地址 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</context-param>

到此,整个项目的配置基本流程完成。需要demo下载请点击http://download.csdn.net/detail/u010488421/9476678

使用demo需要修改连接数据的properties文件为你的连接配置和service文件中的sql语句,index页面的el表达式即可使用。

最后

以上就是美好红牛为你收集整理的搭建struts、spring、hibernate框架的简单流程的全部内容,希望文章能够帮你解决搭建struts、spring、hibernate框架的简单流程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部