zoukankan      html  css  js  c++  java
  • Spring+Struts2/Hibernate 学习笔记

    ============Spring与Struts2整合============
    (1)拷JAR包(Spring、Struts2)
    (2)配置org.springframework.web.context.ContextLoaderLisener来加载Spring容器
    默认以WEB-INF/applicationContext.xml作为配置文件
    如果配置文件不叫该名称,或者没放在该路径下,那就应该配置contextConfigLocation参数
    (3)配置Struts2的核心Filter
    核心Filter要去加载Struts2的配置文件
    (4)Stuts2与Spring整合之后的区别:
    A. 调用业务逻辑组件方法之前,无需自己创建业务逻辑组件,要为它提供setter方法
    B. 复制struts-spring-plugin.jar包到WEB-INF/lib目录下
    该JAR包会把配置在struts-config.xml文件中的Action交给Spring去管理
    C. Spring将根据自动装配的策略把Service组件注入到Action。
    自动装配的策略:byName -根据setter方法的名字来注入
    byType -根据setter方法的形参类型注入

    =========自动装配=========

    autowire - 指定自动装配策略
    byName 如果是byName的自动装配策略,Spring会负责把setter方法名对应
    的Bean注入
    如果没有找到,就不执行注入(即不调用这个setter方法)
    byType Spring会负责把容器类型为setter方法形参类型的Bean注入进来
    如果没有找到,就不执行注入(即不调用这个setter方法)
    如果找到了多个Bean,那就报错了,出现异常

    autowire-candidate-true/false。如果为false,表明它不作为自动装配的候选人

    =====================Spring与Hibernate=======================

    Spring与Hibernate的整合
      1. 直接在配置文件中配置SessionFactory,Spring容器负责管理SessionFactory
        Spring容器就可以SessionFactory注入其他组件中
      2. 有效的Session管理
      3. 声明式的事务管理
      4. 统一的异常包装

    Spring为简化Hibernate操作提供了一个类:HibernateTemplate

    门面模式:实际上,我们应该只要传入hq1、val1、val2、val3...程序就应该返回查询结果。
      Spring的HibernateTemplate实现了这种门面模式:
       - List find(hql)
       - List find(String queryString,Object... values)
       - List find(hql,Object value)

       - get(String entityName,Serializable id)/load(String entityName,Serializable id)
       - delete(Object entity)
       - save(Object entity)/persist(Object entity)
       - update/saveOrUpdate(Object entity)
      /******************************************
      在原来的Hibernate查询里:
        Session sess=sf.openSession()
        Transaction tx=sess.beginTranasction();
        Query query=sess.creatQuery("from...");
        query.setParameter(val1);
        query.setParameter(val2);
        query.setParameter(val3);
        query.list();

      如果用传统的Hibernate编程模式,需要有顺序地、依次调用3个API的方法。
      ******************************************/

    Spring为简化Hibernate操作提供了一个类:HibernateTemplate
      主要为HibernateTemplate传入一个SessionFactory,接下来的绝大部分持久化操作只要一行代码即可搞定。

  • 相关阅读:
    开始学习编写用于 Windows SideShow 设备的小工具【转】
    Windows Mobile 6.5 Developer Tool Kit 下载
    Microsoft Security Essentials 微软免费杀毒软件下载
    SQL Server 2008 空间数据存储摘抄(SRID 点 MultiPoint LineString MultiLineString 多边形 MultiPolygon GeometryCollection)
    Vista Sidebar Gadget (侧边栏小工具)开发教程 (2)
    Vista Sidebar Gadget (侧边栏小工具)开发教程 (4)
    负载测试、压力测试和性能测试的异同
    Windows Server 2008 Vista Sidebar Gadget (侧边栏小工具) 入门开发实例
    Silverlight Tools 安装失败 解决办法
    SQL Server 2008 空间数据库 空间索引概念及创建(取自帮助)
  • 原文地址:https://www.cnblogs.com/otio/p/4098316.html
Copyright © 2011-2022 走看看