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,接下来的绝大部分持久化操作只要一行代码即可搞定。
Spring+Struts2/Hibernate 学习笔记的更多相关文章
- Intellij IDEA 2019 + Java Spring MVC + Hibernate学习笔记(1)
之前的技术栈一直是围绕.net 做的,现在.net 技术栈的使用越来越少,越来越窄.好多原来的同事都转Java开发了. 最近公司变动,自己需要重新找个坑,压力山大.好多要求Java技术栈的根本没机会进 ...
- Intellij IDEA 2019 + Java Spring MVC + Hibernate学习笔记(2)
书接上文 首先根据各种Spring MVC教程,建立了基础的结构,是否合理不知道,姑且先这样,有问题再解决问题.学习新东西,不能怕掉坑里... 查询网上别人的经历说需要把根目录下的lib目录下的所有包 ...
- Hibernate学习笔记(二)
2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...
- [Java web]Spring+Struts2+Hibernate整合过程
摘要 最近一直在折腾java web相关内容,这里就把最近学习的spring+struts2+hibernate进行一个整合,也就是大家经常说的ssh. 环境 工具IDE :Idea 2018 数据库 ...
- Hibernate学习笔记(一)
2016/4/18 19:58:58 Hibernate学习笔记(一) 1.Hibernate框架的概述: 就是一个持久层的ORM框架. ORM:对象关系映射.将Java中实体对象与关系型数据库中表建 ...
- Hibernate 学习笔记一
Hibernate 学习笔记一 今天学习了hibernate的一点入门知识,主要是配置domain对象和表的关系映射,hibernate的一些常用的配置,以及对应的一个向数据库插入数据的小例子.期间碰 ...
- Hibernate学习笔记-Hibernate HQL查询
Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库 ...
- 简单Spring+Struts2+Hibernate框架搭建
使用Maven+Spring+Struts2+Hibernate整合 pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0&q ...
- SSH(Spring Struts2 Hibernate)框架整合(注解版)
案例描述:使用SSH整合框架实现部门的添加功能 工程: Maven 数据库:Oracle 框架:Spring Struts2 Hibernate 案例架构: 1.依赖jar包 pom.xml < ...
随机推荐
- Windows,caffe 仅cpu
http://caffe.berkeleyvision.org/installation.html 按着官网的步骤:https://github.com/BVLC/caffe/tree/windows ...
- context menu与submenu区别
http://blog.csdn.net/liuxiit/article/details/6819235 总结调用顺序: 点击“Menu" 键时,调用 onCreateOptionsMenu ...
- css学习笔记(6)
+++++++++++++++++ CSS HACK+++++++++++++++++IE6.0 能识别 _background:#ff00ff; *background:#ff00ff; +back ...
- 不同hadoop集群之间迁移hive数据
#!/bin/bash #set -x DB=$1 #获取hive表定义 ret=$(hive -e 'use ${DB};show tables;'|grep -v _es|grep -v _hb| ...
- Linux 使用 su 切换用户提示 Authentication Failure 的解决方法
Ubuntu v14.04,使用 su 命令切换用户时报验证失败的错误 这个问题产生的原因是由于 ubuntu 系统默认是没有激活 root 用户的,需要我们手工进行操作,在命令行界面下,或者在终端中 ...
- window下乌龟git安装和使用
一.安装git for windows 首先下载git for windows客户端http://msysgit.github.io/ 安装过程没什么特别的,不停next就ok了 图太多就不继续了~~ ...
- Android IOS WebRTC 音视频开发总结(七二)-- 看到Google Duo,你想到了什么?
本文主要介绍在线教育这个行业,文章最早发表在我们的微信公众号上,支持原创,详见这里, 欢迎关注微信公众号blackerteam,更多详见www.rtc.help 在昨天的Google I/O大会上Go ...
- 对Web标准的理解。可用性和可访问性
一Web标准 简单的说,就是HTML.CSS.JavaScript这三者分离.WEB标准不是某一个标准,而是一系列标准的集合.网页主要由三部分组成:结构(Structure).表现(Presentat ...
- information_schema系列四(跟踪,列约束,表和列)
这个系列的文章主要是为了能够让自己了解MySQL5.7的一些系统表,统一做一下备注和使用,也希望分享出来让大家能够有一点点的受益. 1:KEY_COLUMN_USAGE 按照官方的解释,这个表描述的是 ...
- AX2012 DMF数据导入的问题
由于AX2012的数据结构比较复杂,通过Excel直接导入表的方式很多数据已经难以导入,比如物料信息,2009只需要导入InventTable,InventTableModule和InventItem ...