~Spring+Strtus2+Hibernate的整合案例~
项目结构:ლ(╹◡╹ლ)请无视过滤器、监听器以及CKEdtior等……
配置文件都在WEI-INF下,web.xml和applicationContext.xml主要配置↓↓↓↓↓↓↓↓↓↓↓↓↓↓
web.xml:
<!-- 启动服务器时,实例化Spring容器 --> <context-param> <param-name>contextConfigLocation</param-name> <!-- 指定Listener要加载的Spring配置文件 --> <param-value>/WEB-INF/applicationContext.xml,classpath*:applicationContext.xml</param-value> </context-param> <!-- 启动服务器时实例化Listener对象,此时实例化Spring容器对象 --> <listener> <!-- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> --> <listener-class>com.web.listener.CountLineListener</listener-class> </listener> <!-- 设置session超时时间 --> <session-config> <session-timeout>60</session-timeout> </session-config> <!-- 配置前端控制器 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> <!-- <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>--> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
applicationContext.xml:
<!-- 让spring注入SessionFactory <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> </bean> --> <bean id="userDao" class="com.dao.impl.UserDaoImpl"> <property name="mySessionFactory" ref="mySessionFactory"></property> </bean> <bean id="userService" class="com.service.impl.UserServiceImpl"> <property name="userDao" ref="userDao"></property> </bean> <bean id="userAction" class="com.web.action.UserAction" scope="prototype"> <property name="userService" ref="userService" /> </bean> <bean id="editorAction" class="com.web.action.MyEditor" scope="prototype"> <property name="userService" ref="userService" /> </bean> <!-- 数据源->连接数据库 --> <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost/test"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean> <bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="myDataSource"/> <property name="mappingResources"> <list> <value>com/entity/User.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <!-- <value>hibernate.dialect=org.hibernate.dialect.MySQLDialect</value> --> <props> <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> <!-- 事物管理 --> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="mySessionFactory"></property> </bean> <!-- 配置事物通知 下面是Spring中Propagation类的事务属性详解: REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。 MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。 REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。 NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。 NESTED:支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务。 --> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="add*" propagation="REQUIRED"></tx:method> <tx:method name="del*" propagation="REQUIRED"></tx:method> <tx:method name="modi*" propagation="REQUIRED"></tx:method> <tx:method name="*" propagation="SUPPORTS" read-only="true"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="serviceServiceMethods" expression="execution(* com.service.impl.*.*(..))"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceServiceMethods"/> </aop:config>
然后编写数据访问层、业务层、实体类(仅用查询做测试_(:з」∠)_)
IUserDao.java:
package com.dao; …… public interface IUserDao { /** * 查询 * @param user * @param pageSize * @param page * @return * @throws Exception */ public List<User> userFind(User user, int pageSize, int page) throws Exception; }
相关推荐
Maven整合SSH案例 ************************************************************************************* 注意:运行前请配置Maven环境,和修改config.properties中数据库名称用户和密码,并且修改Tuser中的...
SSH完整案例,所有lib下jar包,超级实用,帮助我们了解SSH的实际操作
SSH简单的开发案例,最基础的SSH案例,通俗易懂
ssh案例
ssh案例分析.pdf欢迎大家下载啊。。。
最基础的SSH框架应用,最基础的ssh框架使用案例
SSH完整案例
这是一个ssh案例,可以直接运行,所含jar包全部整理好了。直接使用。
java ssh开发的管理信息系统,很实用
别人ssh案例
这是我自己写的一个CRM客户关系管理系统,是用SSH框架搭建的,有需要的朋友可以参考一下
Java ssh sping mybatis hibernate oracl 简单实用 希望对你有帮助
Struts2+Hibernate+Spring 小小留言板 使用了FCKeditor 欢迎下载 再次欢迎下载
首先感谢原创,相关信息请查询原创。... 看到好多朋友找不到相应的jar包,致使jbpm4.4的学习遇到困难,现提供除jbpm4.4自身jar包外的所有包,以便大家更快的学习jbpm4.4,希望能帮朋友们少走弯路!
用MyEclipse6.0.1开发的SSH项目,简单适用
1、首先将项目mywork3.rar解压,导入到myeclipse中,注意修改applicationContext.xml 中用户名、密码,jdk使用1.6以上的就可以。 2、在mysql中新建数据库mydb 3、导入SQL文件 user.sql 4、启动项目,输入...
改demo项目整合了目前j2ee体系中最流行的框架技术,并简单实现用户登录实体!
53-使用Struts + Spring + Hibernate完成分页.rar
Publish Over SSH插件使用 在使用Publish Over SSH之前,需要制作SSH私钥。机器间做免密登录配置。假设机器A,ip为192.168.AA.AAA,机器B: 192.168.BB.BBB,机器A能够免密登录机器B,机器B能够免密登录机器A,制作方式是...
完整的ssh开发源码,适合新手们的使用,完整的包结构