第一个问题:
配置完成后,启动tomcat,出现
Error listenerStart 异常,就这么几个字,多的一个没有。自己没搞定,于是上网查,热心人不少,主要归结原因有如下几点
1、jar包不正确(不全)
2、jar包冲突
3、xml配置文件有误(主要是对bean的配置)
等等原因吧。我一一查找,前两个都确定无误,可是xml的配置哪里是眼睛那么容易看出来的呢?晕……
解决方法:
1、去掉web.xml中的
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
不知道是谁想出来的,损人不利己,没有了这个东西,项目是没报错的起来了,可是不能用阿,管个鸟用!!!
2、采用log日志查错(推荐)
灵光一现,我想起了log4j这个东西。于是给自己的项目配置了一个log4j。苍天有眼,设置成error级别,控制台的错误刷刷的……。找到报错的原因了,这就是第二个问题
第二个问题:
采用spring的aop对hibernate的service(dao/manager)进行事务管理时,发现一个service想要注入与自己有关的service时,注入的是被spring托管的代理,而不是真正的service对象。异常崩溃。
xml配置文件代码:
<!-- 用spring的aop来管理所有的Service事务-->
<bean id="transactionProxyCreator"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>*Service</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>
<bean id="userService"
class="com.qquery.demo.service.UserService">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="queryResultsService"
class="org.query.extend.service.QueryResultsService">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!--在dwrQueryService想引入 userService,queryResultsService时出现异常, 原因就是对应不是具体的类而是代理。-->
<bean id="dwrQueryService"
class="org.query.service.DwrQueryService">
<property name="userService">
<ref bean="userService" />
</property>
<property name="queryResultsService">
<ref bean="queryResultsService" />
</property>
</bean>
解决方法:
1、不用这种方式托管(废话)
2、给org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator加上属性proxyTargetClass;设置为
<property name="proxyTargetClass" value="true"></property>
调试通过。
总结一下:
第一个问题,说明了我们在做项目时,应该有实用log日志的良好习惯
第二个问题,说明了spring的博大精深阿。
奋斗。
分享到:
相关推荐
解决的问题为 git 配置多个ssh key 我们配置好两个 sshkey 后 分别为两个 如果是 github.com gitlab.com gitee.com 这三个当然没有问题 开发此工具碰到的问题是 开发者碰到同一代码托管平台 来自多个账号的 sshkey ...
内含两种SSH2框架的搭建文档,描述及配置相当详细~~~
两个demo javaweb程序,一个最简单的ssh配置打通的项目和一个详细配置说明的项目。
配置分两部分:一是对登录机的配置,二是对被登录机的配置,其中登录机为客户端,被登录机为服务端,也就是解决客户端到服务端的无密码登录问题。下述涉及到的命令,可以直接拷贝到Linux终端上执行,已全部验证通过...
dwr配置文件和注解两种方式的两个demo, dwr框架在项目中的使用, 一个sprig3+dwr3+jpa+struts2,基于注解的完整demo 一个sprig2+dwr2+hibernate3+struts1,基于配置文件的完整demo ...
docker images查看容器,删除相同的以及两个执行出的端口容器。再次执行显示成功! 总结: 命名规范,及时清除不必要的容器。 补充知识:docker中开启时运行多个不同进程,安装ssh,并在启动docker时与jenkins同时...
SSH框架与SSI框架的区别-通过配置说明来说明两个架构。
该配置文件连接的是两个数据库结构相同的数据源,其他比如数据库结构不...本人在遇到此问题时上网搜了很多答案结果都不怎么如意,有的太深奥不过思想很好,有的又太不给力,后来自己慢慢研究配置成功后想与大家分享结果
ssh和ssi框架搭建的一个项目,这个项目没有实现具体的功能,而是框架搭建环境,在此项目下可以进行Ssh和SSI开发,这里两个框架式通过spring配置开关打开的
不论你的通信是在一个很小的LAN上进行,还是要跨越整个Internet,SSH都可以将数据安全有效地从“这儿”传输到“那儿”。所以请抛弃掉那些不安全的.rhosts、hosts.equiv文件,升级到SSH上来吧,你的网络必将成为一块...
VMware中建立centos系统,两个centos系统实现免密码登陆,源码截图,亲自实现。
顺便发了个创建用户以及两个测试表的sql语句,保证可以直接用哦。 持久层是用了hibernate和spring。hibernate负责ORM,hql操作对象。 spring负责使用JDBC操作数据库。都写了一个小例子。 搭这个框架的初衷主要是想...
grunt-ssh, SSH,Grunt的SFTP任务 新主人 启动 12 -23-2015,我正站在两个巨人( @chuckmo和 @andrewrjones) 作为这个项目维护者的肩膀上) 。 欢迎捐赠,如往常。 ( 这里消息也将在下一次发布时删除) 。静音 ssh
ssh+dtree+juqery+json+mysql数据库 两个实例+ dtree包如果是其他数据库改个spring配置文件的数据源就行
整合使用最新版本的三大框架(即Struts2...参考文档:(感谢下边的两位原创作者,另外我在结合两个优点的基础之上,把所有的配置换成了注解的配置方案。) http://blog.csdn.net/songanling/article/details/22454973 ...
如果用BasicDataSource来配置数据库连接,还要加入2个包: 7.commons-pool.jar 8.commons-dbcp.jar 三、Hibernate需要的jar包: 1.hibernate3.jar(hibernate的核心jar包) 2.antlr-2.7.2.jar(语言转换工具,...
Struts2 Spring3 Hibernate3 实现的增删改查刷新功能,可根据com.dwg.bean下的类建立mysql数据库的表,通过Application.xml文件配置数据库名称和密码。通过hibernate多对一关联人员和公司表。
安装Cygwin,安装上Tcl和Expect两个工具。 百度搜索:cygwin,在搜索结果中点击:Cygwin Installation 此刻,进入cygwin软件官网,根据自己操作系统,选择32位或64的setup 双击打开下载完成的cygwin,进入安装程序...