首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

记一次简单的整合 错误整理.(CXF2.7.4整合Hibernate4.2.3 spring3.2.2 log4j1.2.17)

2013-08-01 
记一次简单的整合 异常整理.(CXF2.7.4整合Hibernate4.2.3 spring3.2.2 log4j1.2.17)?只列一个web.xml:?xm

记一次简单的整合 异常整理.(CXF2.7.4整合Hibernate4.2.3 spring3.2.2 log4j1.2.17)

?

只列一个web.xml:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  <display-name>onlinestore</display-name><!--spring 配置文件 -->  <context-param>    <param-name>contextConfigLocation</param-name>    <param-value>        classpath*:*.xml    </param-value>  </context-param>  <!--log4j启动的监听器 --><listener>     <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>   <!--如果不设,默认为web.root,但最好设置,以免项目间冲突 --> <context-param>       <param-name>webAppRootKey</param-name>        <param-value>onlinestore.root</param-value>  </context-param> <context-param>     <param-name>log4jConfigLocation</param-name>     <param-value>/WEB-INF/classes/log4j.properties</param-value> </context-param>   <!--spring的启动监听器-->  <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>    <servlet>    <servlet-name>CXFServlet</servlet-name>    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>    <load-on-startup>1</load-on-startup>  </servlet>  <servlet-mapping>    <servlet-name>CXFServlet</servlet-name>    <url-pattern>/ws/*</url-pattern>  </servlet-mapping>  <welcome-file-list>    <welcome-file>index.html</welcome-file>    <welcome-file>index.htm</welcome-file>    <welcome-file>index.jsp</welcome-file>    <welcome-file>default.html</welcome-file>    <welcome-file>default.htm</welcome-file>    <welcome-file>default.jsp</welcome-file>  </welcome-file-list></web-app>

?

?

?

全部的配置文件就不列了 这边记录一下问题

1.

org.springframework.beans.factory.BeanNotOfRequiredTypeException

?

用@Resource进行注入 名字没有问题 其他的类里都没问题 只发生在了service层的类里 如下:

@Resourceprivate MemberServiceImpl memberServiceImpl;

后来发现是AOP进行声明式事务管理 里面的proxy-target-class没有设置(默认为false 表示使用JDK的代理(基于接口)) 因为我以上的注入是基于实现类注入的 所以会报这个错误

改正方法:1.改为MemberService memberServiceImpl;(如果改成memberService在Resource上要写明name)

? ? ? ? ? ? ? ? 2.设置proxy-target-class为true(CGLIB实现 基于继承)?

这个问题更多可见:

http://ekisstherain.iteye.com/blog/1569236

?

?

?

?

?

2.

org.springframework.beans.MethodInvocationException: Property 'systemPropertiesModeName' threw exception; nested exception is org.springframework.core.ConstantException: Field 'SYSTEM_PROPERTIES_MODE_ENVIRONMENT' not found in class [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]

?

额 这个错误就是关于资源文件的 这个..源于我把log4j.properties放在了classpath下 然后又使用了:

<context:property-placeholder location="classpath*:*.properties"/>

?没有debug进去查看 估计就是解析错误了什么的 ?换成以下的就好了(老方式):

    <bean id="springConfig"value="true"></property></bean>

?

?

3.

log4j:ERROR setFile(null,true) call failed.

java.io.FileNotFoundException: \WEB-INF\log4j.log

?

这个是鄙人看到web.xml里写的是这个:

 <context-param>     <param-name>log4jConfigLocation</param-name>     <param-value>/WEB-INF/classes/log4j.properties</param-value> </context-param> 

?然后在web-inf建了个classes文件夹 又放了进去的关系.....

不动就可以了... ...会被编译进去的(主要用eclipse 不会在项目里生成classes文件夹(会在临时空间里)就弄错了)

具体看这里:

http://nopainnogain.iteye.com/blog/780542

热点排行