web.xml

<?xml version="1.0" encoding="GBK"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">

<!-- 配置Spring配置文件的位置 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml,
            /WEB-INF/daoContext.xml</param-value>
    </context-param>
    <!-- 使用ContextLoaderListener初始化Spring容器 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

<!-- 定义Struts 2的核心Filter -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <!-- 让Struts 2的核心Filter拦截所有请求 -->
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

<!-- 定义Web应用的首页 -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

/WEB-INF/applicationContext.xml

<?xml version="1.0" encoding="GBK"?>
<!-- 指定Spring配置文件的Schema信息 -->
<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:p="http://www.springframework.org/schema/p"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

<!-- 定义数据源Bean,使用C3P0数据源实现 -->
    <!-- 设置连接数据库的驱动、URL、用户名、密码
        连接池最大连接数、最小连接数、初始连接数等参数 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close"
        p:driverClass="com.mysql.jdbc.Driver"
        p:jdbcUrl="jdbc:mysql://localhost:3306/hrSystem"
        p:user="root"
        p:password="coship"
        p:maxPoolSize="40"
        p:minPoolSize="1"
        p:initialPoolSize="1"
        p:maxIdleTime="20"/>

<!-- 定义Hibernate的SessionFactory -->
    <!-- 依赖注入数据源,注入正是上面定义的dataSource -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
        p:dataSource-ref="dataSource">
        <!-- mappingResouces属性用来列出全部映射文件 -->
        <property name="mappingResources">
            <list>
                <!-- 以下用来列出Hibernate映射文件 -->
                <value>org/crazyit/hrsystem/domain/Application.hbm.xml</value>
                <value>org/crazyit/hrsystem/domain/Attend.hbm.xml</value>
                <value>org/crazyit/hrsystem/domain/AttendType.hbm.xml</value>
                <value>org/crazyit/hrsystem/domain/CheckBack.hbm.xml</value>
                <value>org/crazyit/hrsystem/domain/Employee.hbm.xml</value>
                <value>org/crazyit/hrsystem/domain/Payment.hbm.xml</value>
            </list>
        </property>
        <!-- 定义Hibernate的SessionFactory的属性 -->
        <property name="hibernateProperties">
            <!-- 指定数据库方言、是否自动建表
                是否生成SQL语句等     -->
            <value>
            hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
            hibernate.hbm2ddl.auto=update
            hibernate.show_sql=true
            hibernate.format_sql=true
            #开启二级缓存
            hibernate.cache.use_second_level_cache=true
            #设置二级缓存的提供者
            hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
            </value>
        </property>
    </bean>

<!-- 配置Hibernate的局部事务管理器,使用HibernateTransactionManager类 -->
    <!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现-->
    <!-- 并注入SessionFactory的引用 -->
    <bean id="transactionManager" class=
        "org.springframework.orm.hibernate3.HibernateTransactionManager"
        p:sessionFactory-ref="sessionFactory"/>

<!-- 配置事务增强处理Bean,指定事务管理器 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <!-- 用于配置详细的事务语义 -->
        <tx:attributes>
            <!-- 所有以'get'开头的方法是read-only的 -->
            <tx:method name="get*" read-only="true"/>
            <!-- 其他方法使用默认的事务设置 -->
            <tx:method name="*"/>
        </tx:attributes>
    </tx:advice>
    <aop:config>
        <!-- 配置一个切入点,匹配empManager和mgrManager
            两个Bean的所有方法的执行 -->
        <aop:pointcut id="leePointcut"
            expression="bean(empManager)||bean(mgrManager)"/>
        <!-- 指定在leePointcut切入点应用txAdvice事务增强处理 -->
        <aop:advisor advice-ref="txAdvice"
            pointcut-ref="leePointcut"/>
    </aop:config>

<!-- 定义业务逻辑组件模板 -->
    <!-- 为之注入DAO组件 -->
    <bean id="managerTemplate" abstract="true" lazy-init="true"
        p:appDao-ref="appDao"
        p:attendDao-ref="attendDao"
        p:typeDao-ref="attendTypeDao"
        p:checkDao-ref="checkDao"
        p:empDao-ref="employeeDao"
        p:mgrDao-ref="managerDao"
        p:payDao-ref="payDao"/>

<!-- 定义两个业务逻辑组件,继承业务逻辑组件的模板 -->
    <bean id="empManager"
        class="org.crazyit.hrsystem.service.impl.EmpManagerImpl"
        parent="managerTemplate"/>
    <bean id="mgrManager"
        class="org.crazyit.hrsystem.service.impl.MgrManagerImpl"
        parent="managerTemplate"/>

<bean id="cronTriggerPay"
    class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail">
        <!-- 使用嵌套Bean的方式来定义任务Bean -->
        <bean
        class="org.springframework.scheduling.quartz.JobDetailBean">
        <!-- 指定任务Bean的实现类 -->
            <property name="jobClass"
                value="org.crazyit.hrsystem.schedule.PayJob"/>
            <!-- 为任务Bean注入属性 -->
            <property name="jobDataAsMap">
                <map>
                    <entry key="empMgr" value-ref="empManager"/>
                </map>
            </property>
        </bean>
    </property>
    <!-- 指定Cron表达式:每月3日2时启动 -->
    <property name="cronExpression" value="0 0 2 3 * ? *"/>
</bean>

<!-- 定义触发器来管理任务Bean -->
<bean id="cronTriggerPunch"
    class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail">
        <!-- 使用嵌套Bean的方式来定义任务Bean -->
        <bean
        class="org.springframework.scheduling.quartz.JobDetailBean">
            <!-- 指定任务Bean的实现类 -->
            <property name="jobClass"
                value="org.crazyit.hrsystem.schedule.PunchJob"/>
            <!-- 为任务Bean注入属性 -->
            <property name="jobDataAsMap">
                <map>
                    <entry key="empMgr" value-ref="empManager"/>
                </map>
            </property>
        </bean>
    </property>
    <!-- 指定Cron表达式:周一到周五7点、12点执行调度 -->
    <property name="cronExpression"
        value="0 0 7,12 ? * MON-FRI"/>
</bean>
<!-- 执行实际的调度调度 -->
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <ref local="cronTriggerPay"/>
            <ref local="cronTriggerPunch"/>
        </list>
    </property>
</bean>
</beans>

/WEB-INF/daoContext.xml

<?xml version="1.0" encoding="GBK"?>
<!-- 指定Spring配置文件的Schema信息 -->
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    <!-- 配置DAO组件的模板 -->
    <bean id="daoTemplate" abstract="true" lazy-init="true"
        p:sessionFactory-ref="sessionFactory"/>

<bean id="employeeDao"
        class="org.crazyit.hrsystem.dao.impl.EmployeeDaoHibernate"
        parent="daoTemplate"/>

<bean id="managerDao"
        class="org.crazyit.hrsystem.dao.impl.ManagerDaoHibernate"
        parent="daoTemplate"/>

<bean id="attendDao"
        class="org.crazyit.hrsystem.dao.impl.AttendDaoHibernate"
        parent="daoTemplate"/>

<bean id="attendTypeDao"
        class="org.crazyit.hrsystem.dao.impl.AttendTypeDaoHibernate"
        parent="daoTemplate"/>

<bean id="appDao"
        class="org.crazyit.hrsystem.dao.impl.ApplicationDaoHibernate"
        parent="daoTemplate"/>

<bean id="checkDao"
        class="org.crazyit.hrsystem.dao.impl.CheckBackDaoHibernate"
        parent="daoTemplate"/>

<bean id="payDao"
        class="org.crazyit.hrsystem.dao.impl.PaymentDaoHibernate"
        parent="daoTemplate"/>

</beans>

struts spring hibernate 配置相关推荐

  1. ssh(Struts+spring+Hibernate)三大框架整合-简述

    ssh(Struts+spring+Hibernate)三大框架配合使用来开发项目,是目前javaee最流行的开发方式,必须掌握: 注意: 为了稳健起见,每加入一个框架,我们就需要测试一下,必须通过才 ...

  2. struts+spring+hibernate总结

    简单的说: struts 控制用的 hibernate 操作数据库的 spring 用解耦的 详细的说: struts 在 ssh 框架中起控制的作用 , 其核心是 Controller, 即 Act ...

  3. java ssh框架 struts spring hibernate 简介

    目录 什么是SSH框架 浅谈Struts 什么是Struts Struts的核心构成 为什么使用Struts 浅谈Hibernate 什么是Hibernate Hibernate的核心构成 浅谈Spr ...

  4. Struts+Spring+Hibernate整合入门详解

    标签: strutshibernatespringbeanactionimport 2007-08-12 16:05 36280人阅读 评论(13) 收藏 举报 分类: STRUTS&SPRI ...

  5. struts+spring的配置方式总结

    现在最流行的j2ee的程序,一般都是用struts+spring+hibernate框架做的,spring+hibernate的配置方式很简单,这里就不说了,下面对struts+spring的几种配置 ...

  6. SSH框架(Struts+Spring+Hibernate)

    在SSH 的组合框架模式中,三者各自的作用? Struts 是一个很好的MVC框架,主要技术是Servlet和Jsp.Struts的MVC设计模式可以使我们的逻辑变得很清晰,让我们写的程序层次分明.基 ...

  7. Struts+Spring+Hibernate处理Lob(Blob,Clob)--sessionFactory中注入 org.springframework.jdbc.support.lob.Def

    [转载]org.springframework.jdbc.support.lob. 转载▼ 标签: 转载 分类: spring 原文地址:org.springframework.jdbc.suppor ...

  8. jello框架,struts+spring+hibernate的终结者?

    jello框架V1.6(以下简称框架)是一个开源的基于AOA技术的java web应用程序框架,它包含了一些独特的观点如零配置.BCP模式.DMM持久化技术等等,支持快速的web应用程序开发.更多内容 ...

  9. 【SSH进阶之路】Struts + Spring + Hibernate 进阶开端(一)

    Long Long ago.就听说过SSH.起初还以为是一个东东,详细内容更是不详,总认为高端大气上档次,经过学习之后才发现,不不过高大上,更是低调奢华有内涵,经过一段时间的研究和学习SSH框架的基本 ...

最新文章

  1. 计算机基础知识关于进制,计算机基础知识-- 进制和编码
  2. FCN全连接卷积网络(4)--Fully Convolutional Networks for Semantic Segmentation阅读(引言部分)
  3. 还在为快捷键烦恼吗?IntelliJ IDEA 快捷键大全 Mac 版
  4. TCP、UDP以及HTTP的简单讲解
  5. OpenCV cv::merge用法的实例(附完整代码)
  6. Windows7IIS7.5部署Discuz全攻略
  7. 阿里Java面试答案【283页PDF文档免费领】
  8. python杨长兴版答案,c++程序设计课后习题答案(杨长兴 ,刘卫国主编)1111
  9. 为什么不能在scrollview中直接添加一个image,然后使animation.begin()??
  10. linux 目录权限上下文,文件和目录的安全上下文
  11. 小米笔记本pro充电测试软件,一款给人心理落差较大的笔记本--小米笔记本Pro测评...
  12. java 传智播客 毕向东_传智播客,毕向东Java详细基础教程下载
  13. Ubuntu16.04 cp xorg.conf.failsafe xorg.conf后无法设置分辨率的解决办法
  14. 简单实现网站灰色效果以谨记2020年4月4日悼念日
  15. 《数据通信与网络》笔记--广域网SONET/SDH
  16. 记一次微信小程序canvas 2d 生成海报问题
  17. CF869E The Untended Antiquity(二维数状数组+差分+hash)
  18. 在线使用ChatGPT,国内手机号也可以注册。
  19. 抖音荣誉等级与粉丝等级的消费对照表
  20. 人民币即期汇率近六年首次跌破6.70 对国际消费影响几何

热门文章

  1. Java中的Type
  2. 产品经理1.3_需求清单如何做
  3. 如何规划自己的程序员人生
  4. 秒连的免费远程控制软件RdViewer
  5. RestTemplate封装方法
  6. 电脑上最好用的3个mobi阅读器
  7. 微信小程序----图表插件示例用法(wx-charts)
  8. 基于51单片机数字频率计仿真设计(proteus仿真+程序+原理图+参考报告+器件清单)
  9. IQ, AQ,EQ, 阿Q
  10. 武汉大学计算机学院自主招生考试内容,武汉大学自主招生试题.pdf