雇员管理系统ssh之准备2

(5)服务层(事务管理器)

这里写图片描述
雇员管理服务

package com.journey.service.interfaces;

import java.util.List;

import com.journey.pojo.Employee;

public interface IEmployeeService {
    public void addEmp(Employee emp);
    public void delEmp(java.io.Serializable id);
    public void updEmp(Employee emp);
    public List<Employee> showEmps();
}
package com.journey.service.impl;

import java.io.Serializable;
import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.transaction.annotation.Transactional;

import com.journey.pojo.Employee;
import com.journey.service.interfaces.IEmployeeService;

public class EmployeeServiceImpl implements IEmployeeService {
    //提供get和set方法,让Spring注入会话工厂
    private SessionFactory sessionFactory;
    //配置Transactional让Spring的事务管理器接管该service事务
    @Transactional
    @Override
    public void addEmp(Employee emp) {
        sessionFactory.getCurrentSession().save(emp);
    }

    @Override
    public void delEmp(Serializable id) {
        // TODO Auto-generated method stub

    }

    @Override
    public void updEmp(Employee emp) {
        // TODO Auto-generated method stub

    }

    @Override
    public List<Employee> showEmps() {
        // TODO Auto-generated method stub
        return null;
    }

    public SessionFactory getSessionFactory() {
        return sessionFactory;
    }

    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }
}

回话工厂有Spring接管
事务管理由Spring接管
配置applicationContext.xml文件

<!-- ... -->
<!-- 配置一个EmployeeServices-->
<bean  id="employeeService" class="com.journey.service.impl.EmployeeServiceImpl">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 配置事务管理器,统一管理事务-->
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 启用事务注解 -->
<tx:annotation-driven transaction-manager="txManager"/>

(6)配置二级缓存
applicationContext.xml

     <property name="hibernateProperties">
        <value>
        hibernate.dialect=org.hibernate.dialect.OracleDialect
        hibernate.hbm2ddl.auto=update
        hibernate.show_sql=false
        hibernate.format_sql=false  
        <!-- 配置二级缓存 -->
        hibernate.cache.use_second_level_cache=true
        hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
        hibernate.generate_statistics=true      
        </value>
    </property>

usage说明了缓存的策略,region指定缓存的区域名

EmployeeService.xml

<hibernate-mapping package="com.journey.pojo">
    <class name="Employee" table="employee0516">
    <cache usage="read-write"/>
    <!-- id用与指定主键属性 -->

ehcache.xml配置

   <defaultCache
        maxElementsInMemory="10000"
        eternal="false"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120"
        overflowToDisk="true"
        />
     <!--defaultCache节点为缺省的缓存策略
     maxElementsInMemory 内存中最大允许存在的对象数量
     eternal 设置缓存中的对象是否永远不过期
     overflowToDisk 把溢出的对象存放到硬盘上
     timeToIdleSeconds 指定缓存对象空闲多长时间就过期,过期的对象会被清除掉
     timeToLiveSeconds 指定缓存对象总的存活时间
     diskPersistent 当jvm结束是是否持久化对象
     diskExpiryThreadIntervalSeconds 指定专门用于清除过期对象的监听线程的轮询时间-->

整合Strust2

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值