Spring未注入MessageSource
我在使用MessageSource和Spring时遇到问题。由于某种未知的原因(至少对我来说),我的Spring未注入MessageSource,spring,dependency-injection,Spring,Dependency Injection,我在使用MessageSource和Spring时遇到问题。由于某种未知的原因(至少对我来说),我的messageSource对象没有被实例化 我有以下组成部分: applicationContext.xml ... <import resource="messageSource-ctx.xml" /> ... <context:component-scan base-package="com.foo.bar" /> ... <beans ...>
messageSource
对象没有被实例化
我有以下组成部分:
applicationContext.xml
...
<import resource="messageSource-ctx.xml" />
...
<context:component-scan base-package="com.foo.bar" />
...
<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;
...
}
package com.foo.bar.rest.exception
@Component
public abstract class GenericRestExceptionMapper{
@Resource
private MessageSourceHelper msh;
....
}
package com.foo.bar.rest.exception
@Provider
public class InvalidRequestExceptionMapper extends GenericRestExceptionMapper implements ExceptionMapper<InvalidRequestException> {
...
}
GenericRestExceptionMapper.java
package com.foo.bar.util;
@Component
public class MessageSourceHelper {
@Autowired
private MessageSource messageSource;
...
}
package com.foo.bar.rest.exception
@Component
public abstract class GenericRestExceptionMapper{
@Resource
private MessageSourceHelper msh;
....
}
package com.foo.bar.rest.exception
@Provider
public class InvalidRequestExceptionMapper extends GenericRestExceptionMapper implements ExceptionMapper<InvalidRequestException> {
...
}
InvalidRequestExceptionMapper.java
package com.foo.bar.util;
@Component
public class MessageSourceHelper {
@Autowired
private MessageSource messageSource;
...
}
package com.foo.bar.rest.exception
@Component
public abstract class GenericRestExceptionMapper{
@Resource
private MessageSourceHelper msh;
....
}
package com.foo.bar.rest.exception
@Provider
public class InvalidRequestExceptionMapper extends GenericRestExceptionMapper implements ExceptionMapper<InvalidRequestException> {
...
}
包com.foo.bar.rest.exception
@提供者
公共类InvalidRequestExceptionMapper扩展GenericRequestExceptionMapper实现ExceptionMapper{
...
}
一旦发生InvalidRequestException
,它将由InvalidRequestException映射程序使用继承的msh
(MessageSourceHelper)进行“cougt”。问题是这个对象是空的,也就是说,它不是由Spring注入的
有什么问题吗?我感谢所有的帮助
提前感谢。我认为您的InvalidRequestExceptionMapper
应该有@组件和私有消息源帮助器msh代码>应该有@自动连线
什么是@提供者
?您确定InvalidRequestExceptionMapper
由Spring管理吗?谢谢Arun!这很有效!问题是InvalidRequestExceptionMapper