struts2.5.5与spring3.4.4集成报错:Unable to load config class I18nInterceptor

飞火流星02027 2016-11-08 02:32:41
遇到的问题:
Unable to load config class org.apache.struts2.interceptor.I18nInterceptor at interceptor

org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [com.opensymphony.xwork2.LocaleProvider] is defined:

Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath

问题原因:
这struts2的配置和spring4的action bean配置有关
struts2配置:
<constant name="struts.objectFactory.spring.autoWire" value="type" />

spring4的action bean配置配置
	<bean id="dicCBBAction" class="com.asiainfo.migration.struts2.action.cbb.DictionaryCBBAction" scope="prototype">
<property name="dataService">
<ref bean="tPubDictionaryService" />
</property>
</bean>


解决办法:
修改spring配置为:
	<bean id="dicCBBAction" class="com.asiainfo.migration.struts2.action.cbb.DictionaryCBBAction" autowire="no" autowire-candidate="false" scope="prototype">
<property name="dataService">
<ref bean="tPubDictionaryService" />
</property>
</bean>

上面加上了autowire="no" autowire-candidate="false" ,问题解决!

另外附struts2.5.5与spring4.3.3集成的注意细节:
如果使用了struts的动态方法调用
<constant name="struts.enable.DynamicMethodInvocation" value="true" />

对于struts2.5.5 package需要加上strict-method-invocation="false"
<package name="admin" namespace="/admin" extends="struts-default" strict-method-invocation="false">
...全文
294 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzd_02027 2016-11-08
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/jjk_02027/9676212 http://download.csdn.net/detail/jjk_02027/9676212 楼主这个真的很牛B,里面是:struts2.5.5+spring4.3.3+hiberante5.2.真正的集成,还用集成了rest, 和hadoop的文件客户端
dzd_02027 2016-11-08
  • 打赏
  • 举报
回复
最新SSH集成_2016-11-08.txt 环境:struts2.5.5+spring4.3.3+hiberante5.2.4 真正的集成,struts action交给spring托管。真实的项目工程,带数据库初始化脚本。 楼主说得没错,我从struts2.3+spring4.1升到struts2.5+spring4.3时也碰到这上问题,struts2.5系列对各种配置的要求都比struts2.3的要严格。struts2.5一直是在进行优化。
代码转载自:https://pan.quark.cn/s/7f503284aed9 Hibernate的核心组件总数达到五个,具体包括:Session、SessionFactory、Transaction、Query以及Configuration。 这五个核心组件在各类开发项目中都具有普遍的应用性。 借助这些组件,不仅可以高效地进行持久化对象的读取与存储,还能够实现事务管理功能。 接下来将通过图形化的方式,逐一阐述这五个核心组件的具体细节。 依据所提供的文件内容,可以总结出以下几个关键知识点:### 1. SSH框架详细架构图尽管标题提及“SSH框架详细架构图”,但在描述部分并未直接呈现关于SSH的详细内容,而是转向介绍了Hibernate的核心接口。 然而,在此我们可以简要概述SSH框架(涵盖Spring、Struts、Hibernate)的核心理念及其在Java开发中的具体作用。 #### Spring框架- **定义**:Spring框架是一个开源架构,其设计目标在于简化企业级应用的开发流程。 - **特点**: - **分层结构**:该框架允许开发者根据实际需求选择性地采纳部分组件,而非强制使用全部功能。 - **可复用性**:Spring框架支持创建可在不同开发环境中重复利用的业务逻辑和数据访问组件。 - **核心构成**: - **核心容器**:该部分包含了Spring框架的基础功能,其核心在于`BeanFactory`,该组件通过工厂模式运作,并借助控制反转(IoC)理念,将配置和依赖管理与具体的应用代码进行有效分离。 - **Spring上下文**:提供一个配置文件,其中整合了诸如JNDI、EJB、邮件服务、国际化支持等企业级服务。 - **Spring AO...

67,542

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧