原文:ssh2框架搭建

struts2+spring4.0+hibernate4.0

4.x版本与3.x版本有较大区别,要配置方法须要注意,用到的jar包如下

文件结构

src/applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
  6. <!-- 事务管理器,将委托给HibernateTransactionManager进行管理// -->
  7. <bean id="transactionManager"
  8. class="org.springframework.orm.hibernate4.HibernateTransactionManager">
  9. <property name="sessionFactory" ref="sessionFactory"/>
  10. </bean>
  11.  
  12. <!-- 事务处理的AOP配置 所有服务层bean声明都要继承此bean ,在proxy里没有定义target属性,所以一定要在bean里加上
  13. abstract="true" // -->
  14. <bean id="TransactionProxyTemplate" abstract="true"
  15. class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  16. <property name="transactionManager" ref="transactionManager"/>
  17. <property name="transactionAttributes">
  18. <props>
  19. <!-- 为了保证服务层统一的事务处理。服务层接口,类的方法必须以下面的方法为开头 -->
  20. <!--spring 捕获到RuntimeException和其他一些异常时才会回滚,不是所有异常都会回滚,-Exception 设置 为任何异常都回滚 -->
  21. <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
  22. <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
  23. <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
  24. <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
  25. <prop key="user*">PROPAGATION_REQUIRED,readOnly</prop>
  26. <prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>
  27. <prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop>
  28. <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop>
  29. <prop key="up*">PROPAGATION_REQUIRED,-Exception</prop>
  30. <prop key="mod*">PROPAGATION_REQUIRED,-Exception</prop>
  31. <prop key="del*">PROPAGATION_REQUIRED,-Exception</prop>
  32. <prop key="remove*">PROPAGATION_REQUIRED,-Exception</prop>
  33. <prop key="create*">PROPAGATION_REQUIRED,-Exception</prop>
  34. <prop key="execute*">PROPAGATION_REQUIRED,-Exception</prop>
  35. <prop key="do*">PROPAGATION_REQUIRED,-Exception</prop>
  36. </props>
  37. </property>
  38. </bean>
  39.  
  40. <!-- 提供普java类获取spring上下文 通过上下文获取具体bean,调用其中的方法 -->
  41. <bean id="springApplicationContextUtil" class="com.soyann.common.util.SpringApplicationContextUtil"></bean>
  42.  
  43. <!-- 系统初始化的时候读取数据库配置文件配置的数据库类型 -->
  44. <bean class="com.soyann.common.util.DBPropertiesUtil" lazy-init="false" init-method="init"/>
  45.  
  46. <!-- 根据MySQL数据库identity获取NEXTVAL -->
  47. <bean id="mySqlKeyGenerator"
  48. class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">
  49. <property name="dataSource" ref="sysDataSource"/>
  50. <property name="incrementerName">
  51. <value>sy_key_sequence</value>
  52. </property>
  53. <property name="columnName">
  54. <value>ID</value>
  55. </property>
  56. </bean>
  57. </beans>

src/applicationContext-db

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
  6.  
  7. <bean id="propertyConfigure"
  8. class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  9. <property name="locations">
  10. <list>
  11. <value>classpath:resource/properties/dbconfig.properties</value>
  12. </list>
  13. </property>
  14. </bean>
  15. <!-- 指定连接数据库的驱动 -->
  16. <bean id="sysDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
  17. destroy-method="close">
  18. <!--The driver class name -->
  19. <property name="driverClass">
  20. <value>${jdbc.driverClassName}</value>
  21. </property>
  22. <!-- 指定连接数据库的URL -->
  23. <property name="jdbcUrl">
  24. <value>${jdbc.url}</value>
  25. </property>
  26. <!-- 指定连接数据库的用户名 -->
  27. <property name="user">
  28. <value>${jdbc.username}</value>
  29. </property>
  30. <!-- 指定连接数据库的密码 -->
  31. <property name="password">
  32. <value>${jdbc.password}</value>
  33. </property>
  34. <!-- 指定连接池的初始化连接数 取值应在minPoolSize 与 maxPoolSize 之间.Default:3 -->
  35. <property name="initialPoolSize">
  36. <value>${jdbc.initialPoolSize}</value>
  37. </property>
  38. <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
  39. <property name="maxIdleTime">
  40. <value>60</value>
  41. </property>
  42. </bean>
  43.  
  44. <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
  45. <property name="dataSource">
  46. <ref bean="sysDataSource"/>
  47. </property>
  48. <property name="hibernateProperties">
  49. <props>
  50. <prop key="hibernate.dialect">${hibernate.dialect}</prop>
  51. <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
  52. <prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory_class}</prop>
  53. <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
  54. <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
  55. <prop key="hibernate.connection.url">jdbc:mysql://192.168.8.100:3306/soyann</prop>
  56. <prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
  57. </props>
  58.  
  59. </property>
  60.  
  61. <!-- 文件夹映射 -->
  62. <property name="mappingDirectoryLocations">
  63. <list>
  64. <value>WEB-INF/classes/com/soyann</value>
  65. </list>
  66. </property>
  67.  
  68. <!-- 注解方式映射 -->
  69. <property name="packagesToScan">
  70. <list>
  71. <value>com.soyann.*</value>
  72. </list>
  73. </property>
  74. </bean>
  75.  
  76. </beans>

web.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  5. version="3.1">
  6. <display-name>sshFrame</display-name>
  7. <context-param>
  8. <param-name>webAppRootKey</param-name>
  9. <param-value>sshFrame.root</param-value>
  10. </context-param>
  11. <context-param>
  12. <param-name>contextConfigLocation</param-name>
  13. <param-value>
  14. classpath:resource/spring/**/app*.xml
  15. </param-value>
  16. </context-param>
  17. <context-param>
  18. <param-name>log4jConfigLocation</param-name>
  19. <param-value>/WEB-INF/classes/resource/properties/log4j.properties</param-value>
  20. </context-param>
  21.  
  22. <listener>
  23. <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  24. </listener>
  25.  
  26. <listener>
  27. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  28. </listener>
  29.  
  30. <filter>
  31. <filter-name>CharacterEncodingFilter</filter-name>
  32. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  33. <init-param>
  34. <param-name>encoding</param-name>
  35. <param-value>UTF-8</param-value>
  36. </init-param>
  37. <init-param>
  38. <param-name>forceEncoding</param-name>
  39. <param-value>true</param-value>
  40. </init-param>
  41. </filter>
  42. <filter-mapping>
  43. <filter-name>CharacterEncodingFilter</filter-name>
  44. <url-pattern>/*</url-pattern>
  45. </filter-mapping>
  46.  
  47. <filter>
  48. <filter-name>cleanup</filter-name>
  49. <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
  50. </filter>
  51. <filter-mapping>
  52. <filter-name>cleanup</filter-name>
  53. <url-pattern>/*</url-pattern>
  54. </filter-mapping>
  55.  
  56. <filter>
  57. <filter-name>struts2</filter-name>
  58. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  59. </filter>
  60. <filter-mapping>
  61. <filter-name>struts2</filter-name>
  62. <url-pattern>/*</url-pattern>
  63. </filter-mapping>
  64. </web-app>

更多代码:http://download.csdn.net/detail/neil89/8822091

ssh2框架搭建的更多相关文章

  1. SSH2框架搭建 和 配置文件详解

    -----------补充说明----------- 文章中所列出的struts2的2.2jar包已经不是最新的了,这个版本有严重漏洞, 现在最新版本为2.3.15,所以.你懂的http://stru ...

  2. SSH框架搭建 详细图文教程

    转载请标明原文地址 一.什么是SSH? SSH是JavaEE中三种框架(Struts+Spring+Hibernate)的集成框架,是目前比较流行的一种Java Web开源框架. SSH主要用于Jav ...

  3. SSH框架搭建详细图文教程

    转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6762554.html 一.什么是SSH? SSH是JavaEE中三种框架(Struts+Spring+H ...

  4. Angular企业级开发(5)-项目框架搭建

    1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...

  5. 一步一步使用ABP框架搭建正式项目系列教程之本地化详解

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 扯扯本地化 ABP中的本地化 小结 扯扯本地化 本节来说说本地化,也有叫国际化.全球化的,不管怎么个叫法,反正道理都是一 ...

  6. ABP框架搭建项目系列教程基础版完结篇

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...

  7. 【Java EE 学习 69 中】【数据采集系统第一天】【SSH框架搭建】

    经过23天的艰苦斗争,终于搞定了数据采集系统~徐培成老师很厉害啊,明明只是用了10天就搞定的项目我却做了23天,还是模仿的...呵呵,算了,总之最后总算是完成了,现在该好好整理该项目了. 第一天的内容 ...

  8. SSH(Struts2+Spring+Hibernate)框架搭建流程<注解的方式创建Bean>

    此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblo ...

  9. 原创:Equinox OSGi应用嵌入Jersey框架搭建REST服务

    一.环境 eclipse版本:eclipse-luna 4.4 jre版本:1.8 二.Equinox OSGi应用嵌入Jersey框架搭建REST服务 1.新建插件工程HelloWebOSGI a. ...

随机推荐

  1. 【原创】只用 HTML / CSS 画出一把 UKULELE(夏威夷四弦吉他)

    在线演示:http://abelyao.github.io/ukulele/  源代码: https://github.com/AbelYao/css-ukulele  效果图:   为了熟练 CSS ...

  2. Careercup - Google面试题 - 5377673471721472

    2014-05-08 22:42 题目链接 原题: How would you split a search query across multiple machines? 题目:如何把一个搜索que ...

  3. 【Permutations II】cpp

    题目: Given a collection of numbers that might contain duplicates, return all possible unique permutat ...

  4. PHP图形图像处理之初识GD库

    d=====( ̄▽ ̄*)b 引语 php不仅仅局限于html的输出,还可以创建和操作各种各样的图像文件,如GIF.PNG.JPEG.WBMP.XBM等. php还可以将图像流直接显示在浏览器中. 要处 ...

  5. 学习ThinkPHP-1

    ThinkPHP 自建路由 关于文件关联 当在Applicatin\Home\Controller文件夹下建立一个控制器时如LoginController.class.php 在此文件夹下还有一个默认 ...

  6. Python 读写excel数据

    读取excel 文件的数据 import csv with open('D:/mystuff/11.csv','r') as f: reader = csv.reader(f) for row in ...

  7. NSIS中判断.net framework 是否安装

    在网上找了几个脚本,原理都是读取注册表进行判断,都可以用. 1.CheckDotNetFramework /* * Name: CheckDotNetFramework.nsh * Version: ...

  8. SASS学习笔记_02

    导入 当模块化布局的时候 导入头和尾 私有化 不生成css文件 文件名前面加下划线   结果   嵌套导入   导入css文件 不推荐   注释 和默认变量值

  9. 浅谈IT认识

    我理解的IT       新华电脑学院,引领IT潮流.这句耳熟能详的广告语,从小就在我的记忆里深存,当看到别人QQ用黑客技术刷了好多钻,于是乎无比的向往这种黑客技术,后来网上购物更是在互联网上一疯而起 ...

  10. 【CodeForces】【338E】Optimize!

    线段树 先搞出来每个a[i]能连多少条边记为w[i]……如果对一组s[i],都满足w[i]-rank[i]>=0则这是一组合法方案,然后线段树维护w[i]-rank[i](第一个元素出去的时候后 ...