Struts 2和Spring 4,如何从spring应用程序上下文中获取验证器或操作对象

时间:2016-09-26 08:31:56

标签: java spring configuration struts2 struts-validation

我们正在使用Struts 2.5和Spring 4. Struts的配置是https://struts.apache.org/docs/spring-and-struts-2.html中提到的。

struts actionsvalidators是Spring托管bean,我可以inject(或autowire)其他bean。

这个验证器工作正常,显示验证器是一个spring bean:

public class MyValidator(){

    @javax.inject.Inject
    private HelperClass aHelperClass;
}

现在,我想从spring应用程序上下文中获取MyValidator类并使用它。以下代码无效,并返回null

applicationContext.getBean("MyValidator");
applicationContext.getBean("foo.bar.MyValidator");

我看applicationContext.getBeanDefinitionNames()但找不到validator

那么如何从spring applicationContext获得Struts验证器?

1 个答案:

答案 0 :(得分:1)

您的bean未在应用程序上下文中配置。你应该添加@Component注释,让Spring使用组件扫描找到这个bean。

@Component
public class MyValidator(){

    @javax.inject.Inject
    private HelperClass aHelperClass;
}