Struts2和Spring4、如何从springapplication context获取validator或action对象
Struts 2 and Spring 4, how to get the validator or action object from spring application context
我们正在使用 Struts 2.5 和 Spring 4。Struts 配置为 spring,如 https://struts.apache.org/docs/spring-and-struts-2.html 中所述。
struts actions
和 validators
是 Spring 托管 bean,我可以 inject
(或 autowire
)其他 beans .
此验证器工作正常,表明验证器是一个 spring bean:
public class MyValidator(){
@javax.inject.Inject
private HelperClass aHelperClass;
}
现在,我想从 spring 应用程序上下文中获取 MyValidator
class 并使用它。以下代码无效并返回 null
applicationContext.getBean("MyValidator");
applicationContext.getBean("foo.bar.MyValidator");
我查看 applicationContext.getBeanDefinitionNames()
但找不到 validator
。
那么我怎样才能从 spring applicationContext
得到 Struts 验证器呢?
您的 bean 未在应用程序上下文中配置。您应该添加 @Component
注释,让 Spring 使用组件扫描找到这个 bean。
@Component
public class MyValidator(){
@javax.inject.Inject
private HelperClass aHelperClass;
}
我们正在使用 Struts 2.5 和 Spring 4。Struts 配置为 spring,如 https://struts.apache.org/docs/spring-and-struts-2.html 中所述。
struts actions
和 validators
是 Spring 托管 bean,我可以 inject
(或 autowire
)其他 beans .
此验证器工作正常,表明验证器是一个 spring bean:
public class MyValidator(){
@javax.inject.Inject
private HelperClass aHelperClass;
}
现在,我想从 spring 应用程序上下文中获取 MyValidator
class 并使用它。以下代码无效并返回 null
applicationContext.getBean("MyValidator");
applicationContext.getBean("foo.bar.MyValidator");
我查看 applicationContext.getBeanDefinitionNames()
但找不到 validator
。
那么我怎样才能从 spring applicationContext
得到 Struts 验证器呢?
您的 bean 未在应用程序上下文中配置。您应该添加 @Component
注释,让 Spring 使用组件扫描找到这个 bean。
@Component
public class MyValidator(){
@javax.inject.Inject
private HelperClass aHelperClass;
}