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中没有 该记录 出错
最新文章
- Bean不同配置方式的比较
- Android在代码中使用布局文件中的一个组件
- JS 学习(三)DOM
- java闭包
- Quartz 基本概念及原理
- C#语法糖之Cookies操作类 asp.net
- php __set() __get() __isset() __unset()四个方法的应用
- linux笔记:linux软件包管理,软件安装位置
- 支持.NET和移动设备的XLS读写控件XLSReadWriteII下载地址及介绍
- FairScheduler的任务调度机制——assignTasks(续)
- MVC5富文本编辑器CKEditor配置CKFinder
- wget www.baidu.com执行流程分析
- 项目常用Javascript分享,包含常用验证和Cookie操作
- 快递查询 C#
- jmeter接口测试实例1-添加学生信息
- Linux下安装whl文件
- 『计算机视觉』Mask-RCNN_项目文档翻译
- postman测试post请求参数为json类型
- Mac OS, Mac OSX 与Darwin
- 【Java线程】SwingWorker的用法
热门文章
- Codeforces 777D Cloud of Hashtags(贪心)
- 10.1综合强化刷题 Day2 afternoon
- jzyzoj 栈——P1148:括号匹配加强版
- Spring Cloud Stream介绍-Spring Cloud学习第八天(非原创)
- Guru&#39;s Guide to SQL Server Architecture and Internals
- 我的CSS初始化,reset.css
- CSS 属性选择器的深入挖掘
- ZOJ - 3228 Searching the String (AC自己主动机)
- Web.config配置文件详解(新手必看) 【转】
- c语言单链表实现