============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,接下来的绝大部分持久化操作只要一行代码即可搞定。

Spring+Struts2/Hibernate 学习笔记的更多相关文章

  1. Intellij IDEA 2019 + Java Spring MVC + Hibernate学习笔记(1)

    之前的技术栈一直是围绕.net 做的,现在.net 技术栈的使用越来越少,越来越窄.好多原来的同事都转Java开发了. 最近公司变动,自己需要重新找个坑,压力山大.好多要求Java技术栈的根本没机会进 ...

  2. Intellij IDEA 2019 + Java Spring MVC + Hibernate学习笔记(2)

    书接上文 首先根据各种Spring MVC教程,建立了基础的结构,是否合理不知道,姑且先这样,有问题再解决问题.学习新东西,不能怕掉坑里... 查询网上别人的经历说需要把根目录下的lib目录下的所有包 ...

  3. Hibernate学习笔记(二)

    2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...

  4. [Java web]Spring+Struts2+Hibernate整合过程

    摘要 最近一直在折腾java web相关内容,这里就把最近学习的spring+struts2+hibernate进行一个整合,也就是大家经常说的ssh. 环境 工具IDE :Idea 2018 数据库 ...

  5. Hibernate学习笔记(一)

    2016/4/18 19:58:58 Hibernate学习笔记(一) 1.Hibernate框架的概述: 就是一个持久层的ORM框架. ORM:对象关系映射.将Java中实体对象与关系型数据库中表建 ...

  6. Hibernate 学习笔记一

    Hibernate 学习笔记一 今天学习了hibernate的一点入门知识,主要是配置domain对象和表的关系映射,hibernate的一些常用的配置,以及对应的一个向数据库插入数据的小例子.期间碰 ...

  7. Hibernate学习笔记-Hibernate HQL查询

    Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库 ...

  8. 简单Spring+Struts2+Hibernate框架搭建

    使用Maven+Spring+Struts2+Hibernate整合 pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0&q ...

  9. SSH(Spring Struts2 Hibernate)框架整合(注解版)

    案例描述:使用SSH整合框架实现部门的添加功能 工程: Maven 数据库:Oracle 框架:Spring Struts2  Hibernate 案例架构: 1.依赖jar包 pom.xml < ...

随机推荐

  1. CSS基本语法

    这里主要介绍Bootstrap里用到的CSS语法,以便在源码分析时更容易理解和学习.Bootstrap的CSS组件的核心就是选择器的定义以及在各自优先级上的处理. 优先级 如何确定CSS的优先级,这里 ...

  2. 使用php添加定时任务

    1.  php执行外部命令的函数:       system(),exec(),passthru()      注意点:     1.调用的路径,相对路径有时候不是很靠谱.           sys ...

  3. Mono addin 学习笔记 4 再论数据扩展点(Data only extension point)

    1. Attribute声明方式 定义扩展属性 [AttributeUsage(AttributeTargets.Assembly, AllowMultiple= true)] public clas ...

  4. centos 6.3 安装 svn

    1. 按照http://ostechnix.wordpress.com/2013/04/30/install-subversion-server-in-centos-6-4-rhel-6-4-scie ...

  5. ORA-27092: size of file exceeds file size limit of the process

    停数据库时遇到下述问题: $ ./addbctl.sh stop You are running addbctl.sh version 120.1 Shutting down database UAT ...

  6. maximo功能修改笔记

    经过前几次的简单的修改系统功能,对maximo的bean开发已经有了一定了解,现在是耗时近两个礼拜来修改了一项系统功能,所用到的知识 Bean Fld, 下面我认真总结修改功能过程中的学到的知识: 目 ...

  7. XidianOJ 1096 数的拆分

    题目描述 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复. 输入 多组数据.每组只有一个整数n,表示待拆分的自然数n. n<=80 输出 每组一个数,即所有方案数. - ...

  8. Docker私有仓库 Registry中的镜像管理

    这里主要介绍Registry v2的版本 查看Registry仓库中现有的镜像: # curl -XGET http://10.0.30.6:5000/v2/_catalog# curl -XGET ...

  9. 理解docker容器和镜像(layer,ufs)和docker命令解释

    博客好文1:http://blog.csdn.net/x931100537/article/details/49633107(理解docker容器和镜像,理解简单,从原理入手,什么是layer,什么是 ...

  10. Ubuntu12.04-x64编译Hadoop2.2.0和安装Hadoop2.2.0集群

      本文Blog地址:http://www.cnblogs.com/fesh/p/3766656.html   本文对Hadoop-2.2.0源码进行重新编译(64位操作系统下不重新编译会有版本问题) ...