0

プロパティ ファイルからいくつかのエラー メッセージを読み取る必要があるカスタム例外クラスがあります。しかし、それはnullになり続けているようです。@Component を追加しようとしましたが、まだ機能しません

@Component
public class FormValidationFailExceptionHolder {

    @Autowired
    private MessageSource messageSource;

    ...
    public void someMethod(){
        ....
        String message = messageSource.getMessage(errorid, msgargs, Locale.ENGLISH);
        ....
    }
}

ここに私の春の設定があります

....
<context:component-scan base-package="simptex.my" />
....
 <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="useCodeAsDefaultMessage" value="false" />
    <property name="basenames">
        <list>
            <value>classpath:mgmtlabels</value>
            <value>classpath:error</value>
            <value>classpath:PWMResources</value>
        </list>
    </property>
    <property name="defaultEncoding" value="UTF-8" />
</bean>

Spring config xmlでBeanを明示的に宣言しようとしましたが、それでもnullを返します

<bean id="formValidationFailException" class="simptex.my.core.exception.FormValidationFailException">
    <property name="messageSource" ref="messageSource" />
</bean>

FormValidationFailException を呼び出す方法は次のとおりです

public class Foo{
    private HttpSession session;
    ....
    public void fooMethod()  {
        session.setAttribute(CommonSessionKeys.FORM_VALIDATION_EXECEPTION_HOLDER, new FormValidationFailExceptionHolder("roledd", "E0001"));
    }
}

@Controller
public class FooController  {
    @RequestMapping(value = "/xxxx")
    public void fooMethodxxx() {
        Foo foo = new Foo(session);
        foo.fooMethod();
    }
}
4

1 に答える 1