S2S4H整合注意问题
整合过程中出现问题记录:
1、The import javax.servlet.http.HttpServletRequest cannot be resolved
解决办法:在tomcat的lib目录下找到 servlet-api.jar 加载classpath下面
2、Bean named '*' must be of type [*], but was actually of type [$Proxy16]
原来在定义Dao时,没有用接口,而直接使用的是Dao的实现类就会导致这种错误
3、整合中每一个action默认都是单例模式所以在action中必须加上@scope("prototype"),
否则这个action中数据就会被所有用户所有线程共享
4、springAOP的使用 引入aopalliance-1.0.jar 自己写一个类实现MethodInterceptor 重写 invoke方法
@SuppressWarnings("serial")
public class MyLoginInterceptor implements MethodInterceptor {
@Override
public Object invoke(MethodInvocation invoke) throws Throwable {
String methodname = invoke.getMethod().getName();
System.out.println(methodname);
return invoke.proceed();
}
}
在applicationContext.xml中配置
<bean id="springMethodInterceptor" class="com.interceptor.MyLoginInterceptor" ></bean>
<aop:config>
//切入点
<aop:pointcut id="loginPoint" expression="execution(public * com.action.*.*(..)) "/>
在该切入点使用自定义拦截器
<aop:advisor pointcut-ref="loginPoint" advice-ref="springMethodInterceptor"/>
</aop:config>
即可实现拦截com.action.*.*下面任何方法
5、通常在使用struts2的时候使用spring的aop代理会使struts2无法获取到上下文信息,从而使参数传送失败,解决这个问题的办法就是在配置aop的时候加上 proxy-target-class="true" 即:
<aop:config proxy-target-class="true">
<aop:pointcut id="loginPoint" expression="execution(public * com.action.*.*(..)) "/>
<aop:advisor pointcut-ref="loginPoint" advice-ref="springMethodInterceptor"/>
</aop:config>
就ok了!!!
6、在@manytoone设置了fetch为lazy后出现了 com.entity.User_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy异常 百度了一下
发现是 javassit 包冲突 去除javassist-3.11.0-GA.jar包即可
7、在一对多双向级联时 我想删除一方 在级联删除多方(通常会报 外键关联不能删除的错误) (比如删除一个帖子的同时将这个帖子的所有评论也删除)解决方法:
先将这个帖子load出来 ,在进行删除该帖子
@Override
@Transactional(propagation=Propagation.REQUIRED)
public void deletePost(Post post) {
Post p = this.ht.get(Post.class, post.getPostid());
this.ht.delete(p);
}
8、 org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.entity.User#7826ed76-7ca8-4f44-86fe-bc0ab6e6e984]
user - post 查询user时 会将user表中 postid 取出到 post中查询 发现post中没有 该记录 出错
S2S4H整合注意问题的更多相关文章
- [原创]mybatis中整合ehcache缓存框架的使用
mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓 ...
- kindeditor4整合SyntaxHighlighter,让代码亮起来
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换 ...
- spring源码分析之freemarker整合
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程 ...
- FullCalendar应用——整合农历节气和节日
FullCalendar用来做日程管理功能非常强大,但是唯一不足的地方是没有将中国农历历法加进去,今天我将结合实例和大家分享如何将中国农历中的节气和节日整合到FullCalendar中,从而增强其实用 ...
- SAP CRM 将组件整合至导航栏中
到现在,我们已经可以让组件独立地显示.我们只是运行它.让它显示在Web UI中.让我们把组件整合进导航栏,使我们可以在正常登录Web UI时访问它. 步骤一: 为你的UI组件主窗体创建一个内向插件. ...
- Atitit.你这些项目不都是模板吗?不是原创 集成和整合的方式大总结
Atitit.你这些项目不都是模板吗?不是原创 集成和整合的方式大总结 1.1. 乔布斯的名言:创新即整合(Creativity is just connecting things).1 1.2. ...
- github入门到上传本地项目【网上资源整合】
[在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...
- 三大框架SSH整合
三大框架SSH整合 -------------------------------Spring整合Hibernate------------------------------- 一.为什么要整合Hi ...
- SSH框架整合(代码加文字解释)
一.创建数据库并设置编码. A) create database oa default character set utf8. 二.MyEclipse工程 A) 在Myeclipse里创建web工程, ...
随机推荐
- visual studio 插件 resharper 使用指南
vs虽然号称是宇宙第一ide,但在智能提示和代码分析方面还是要略逊于jetbrains系列的ide.如果将jetbrains系列ide的智能提示和代码分析集成到vs中,对vs来说无异于如虎添翼.res ...
- 大话Spark(4)-一文理解MapReduce Shuffle和Spark Shuffle
Shuffle本意是 混洗, 洗牌的意思, 在MapReduce过程中需要各节点上同一类数据汇集到某一节点进行计算,把这些分布在不同节点的数据按照一定的规则聚集到一起的过程成为Shuffle. 在Ha ...
- Cocos 2d-X Lua游戏开发Mac环境搭建以及一点点感悟
接触Cocos2d-x 最近由于公司项目的需要,自己开始接触Cocos,开始做一些简单的轻量级的游戏,以前没有接触过这一块的东西,也是借助这个机会学习一下游戏的开发,由于以前自己接触的全都是iOS和A ...
- 洛谷——P1617 爱与愁的一千个伤心的理由
P1617 爱与愁的一千个伤心的理由 题目背景 (本道题目隐藏了两首歌名,找找看哪~~~) <爱与愁的故事第一弹·heartache>第二章. 经历了心痛后,爱与愁大神不行了. 题目描述 ...
- java文件下载导出
前台代码: $("#btnExport").click(function(){ top.$.jBox.confirm("确认要导出房屋信息吗?","系 ...
- Learn How To Create Trigger In Oracle Forms
I have written many posts related to triggers in Oracle Forms, I have given examples for Form Level ...
- FAB使用在CoordinatorLayout的隐藏动画
import android.content.Context; import android.os.Build; import android.support.design.widget.Coordi ...
- php从数据库选取记录形成列表(首页调用)
<ul class="e1"> <?php $querySel = "select ID,Tit,Addtime from news where DSh ...
- 队列容易queue
/*先进先出*/#include<iostream>#include<queue> //使用队列必须包含头文件using namespace std;int main(){ q ...
- 2017.2.21 activiti实战--第十三章--流量数据查询与跟踪(一)查询接口介绍及运行时数据查询
学习资料:<Activiti实战> 第十三章 流量数据查询与跟踪 本章讲解运行时与历史数据的查询方法.主要包含三种:标准查询,Native查询,CustomSql查询. 13.1 Quer ...