zoukankan      html  css  js  c++  java
  • itcast-spring-三大框架整合

     三大框架架构(整合原理)

    struts整合到spring   hibernate整合到spring

    导包

     

    eclipse需要导入   myeclipse不用

    单独配置spring容器

     单独配置struts2

     

    struts2与spring整合

     

    strut.xml中有 action  有指定class的  action仍有struts 创建    ,action中的有service属性,由spring创建

    service的属性会自动组装

     

    struts2 class填写bean 的名称  applicationContext中action 需要手动组装service属性   scop属性要prototype 多例的 每次请求都会新建action

    单独配置hibernate

    整合hibernate spring

     

     

    HibernateDaoSupport 使用和区别

    HibernateTemplate 提供了非常多的常用方法来完成基本的操作,比如增加、删除、修改及查询等操作,Spring 2.0 更增加对命名 SQL 查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate 的常规用法,就可完成大多数DAO对象的 CRUD操作。
    
    下面是 HibernateTemplate的常用方法。
    
        delete(Object entity): 删除指定持久化实例。
    
        deleteAll(Collection entities): 删除集合内全部持久化类实例。
    
        find(String queryString): 根据 HQL 查询字符串来返回实例集合。
    
        findByNamedQuery(String queryName): 根据命名查询返回实例集合。
    
        load或get(Classentity Class,Serializable id): 根据主键加载特定持久化类的实例。
    
        save(Object entity): 保存新的实例。
    
        saveOrUpdate(Object entity): 根据实例状态,选择保存或者更新。
    
        update(Object entity): 更新实例的状态,要求entity 是持久状态。
    
        setMaxResults(intmax Results): 设置分页的大小。
    
     
    
    HibernateTemplate与session的区别
     
    
    使用方法没有多大的区别,只是使用时不用自己设置事务,也不用关闭session。
    
     
    
    我们使用HibernateTemplate,有一个很重要的原因就在于我们不想直接控制事务,不想直接去获取,打开Session,开始一个事务,处理异常,提交一个事务,最后关闭一个SessionHibernateTemplate 是Hibernate操作进行封装,我们只要简单的条用HibernateTemplate 对象,传入hql和参数,就获得查询接口,至于事务的开启,关闭,都交给HibernateTemplate  对象来处理我们自己只专注于业务,不想去作这些重复而繁琐的操作。我们把这些责任全部委托给了 HibernateTemplate,然后使用声明式的配置来实现这样的功能。
    
    如果我们通过类似getSession()这样的方法获得了Session,那就意味着我们放弃了上面所说的一切好处。
    
    在使用Spring的时候 DAO类继承了 HibernateDaoSupport 类又因为HibernateDaoSupport 类里面有个属性 hibernateTemplate;所以就可以进行设置注,也就是Spring的一大优点面向切面式编程,进行设置注入,在Tomcat启动的时候由 Tomcat 加载 ApplicationContext.xml,配置文件给 hibernateTemplate赋值,这样的话就实现了,在使用某个对象之前不用给他实例化
    View Code

     

    任何filter都应该放在struts filter之前

  • 相关阅读:
    Progressbar
    winform c# 打包
    WinForm中给DataGridView添加 自动编号
    ASP.NET页面的CheckBoxList组件
    C#截取DOS命令输出流取得网卡MAC地址
    get; set ; 害的我搞了一天
    WinForm(C#) 引用app.config文件中的数据库
    WinForm编程中 Enter自动登录设置
    vs新建解决方案,添加新项目,为什么不在解决方案中显示
    使用delegate实现两窗体传参代码
  • 原文地址:https://www.cnblogs.com/hellowq/p/10175403.html
Copyright © 2011-2022 走看看