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工程, ...
随机推荐
- HDU 1018 Big Number【斯特林公式/log10 / N!】
Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- Codeforces 901C Bipartite Segments(Tarjan + 二分)
题目链接 Bipartite Segments 题意 给出一个无偶环的图,现在有$q$个询问.求区间$[L, R]$中有多少个子区间$[l, r]$ 满足$L <= l <= r &l ...
- validate插件使用
validate插件使用 官网:http://jqueryvalidation.org/ 项目实操 引入文件 add.html调用(注意顺序问题) 为form表单定义一个ID,以方便获取该元素 添加验 ...
- ACM信息汇总
一.ACM算法总结及刷题参考 (摘自:http://www.cnblogs.com/flipped/p/5005693.html) 初期: 一.基本算法: (1)枚举. (poj1753,poj296 ...
- workflow engine Ruote初体验之一(概念)
由于最近自己写点小东西,需要有工作流程管理方面的应用,所有的环境为Ruby on rails,所有在选择流程引擎的时候选择了ruote,但是对于ruote是完全陌生的,所以在这里记下点滴,如果理解的不 ...
- C#获取程序所在的目录
有的时候,我们需要读取程序所在目录下的一些文件,最常见的写法是直接通过".\xxx.file"之类的相对路径来获取文件.虽然这种写法大多数的时候能正确工作,但却又一个很大的隐患:程 ...
- GCD和信号量
GCD 概念不多说,直接上代码.话说也不是什么高深的东东,不过极大简化了代码,一目了然.后面对信号量的记录也采用了相同的原理. //抛出线程 dispatch_async(dispatch_get_g ...
- Android 监听双卡信号强度(附完整代码)
Android 监听双卡信号强度 监听单卡信号强度 监听单卡的信号强度非常简单直接用TelephonyManager.listen()去监听sim卡的信号强度. TelephonyManager = ...
- django发送邮件配置
配置如下,settings中配置: EMAIL_HOST = 'smtp.163.com' EMAIL_PORT = '25' EMAIL_HOST_USER = 'contact108@163.co ...
- python测试网络可达性的方法
1.ping连通性测试 #!/usr/bin/env python #-*- coding: utf-8 -*- import os,sys,re import subprocess def NetC ...