gpt4 book ai didi

spring - MessageSource 没有被 Spring 注入(inject)

转载 作者:行者123 更新时间:2023-12-02 00:57:51 30 4
gpt4 key购买 nike

我在使用 MessageSource 和 Spring 时遇到问题。由于某些未知(至少对我来说)的原因,我的 messageSource 对象没有被实例化。

我有以下组件:

applicationContext.xml

...
<import resource="messageSource-ctx.xml" />
...
<context:component-scan base-package="com.foo.bar" />
...


messageSource.xml

<beans ...>
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>backendErrorCodesMapping</value>
<value>restErrorCodesMapping</value>
</list>
</property>
</bean>
</beans>


MessageSourceHelper.java

package com.foo.bar.util;

@Component
public class MessageSourceHelper {

@Autowired
private MessageSource messageSource;

...
}


GenericRestExceptionMapper.java

package com.foo.bar.rest.exception

@Component
public abstract class GenericRestExceptionMapper{

@Resource
private MessageSourceHelper msh;

....
}


InvalidRequestExceptionMapper.java

package com.foo.bar.rest.exception

@Provider
public class InvalidRequestExceptionMapper extends GenericRestExceptionMapper implements ExceptionMapper<InvalidRequestException> {

...

}

一旦发生InvalidRequestException,它将被使用继承的msh (MessageSourceHelper)的InvalidRequestExceptionMapper“捕获”。问题是该对象为 null,即它不是由 Spring 注入(inject)的。

应该是什么问题?我感谢所有的帮助!

提前致谢。

最佳答案

我认为您的InvalidRequestExceptionMapper应该有@Componentprivate MessageSourceHelper msh;应该有@Autowired

关于spring - MessageSource 没有被 Spring 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5793594/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com