Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring未注入MessageSource_Spring_Dependency Injection - Fatal编程技术网

Spring未注入MessageSource

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和Spring时遇到问题。由于某种未知的原因(至少对我来说),我的
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