We are using Struts 2.5 and Spring 4. The Struts is configured spring as mentioned in https://struts.apache.org/docs/spring-and-struts-2.html.
The struts actions
and validators
are Spring managed beans and I can inject
( or autowire
) other beans in them.
This validator is working fine which shows the validator is an spring bean:
public class MyValidator(){
@javax.inject.Inject
private HelperClass aHelperClass;
}
Now, i want to get the MyValidator
class from spring application context and use it. The below codes did not worked and returned null
applicationContext.getBean("MyValidator");
applicationContext.getBean("foo.bar.MyValidator");
I look at applicationContext.getBeanDefinitionNames()
but could not find the validator
.
So how can I get the Struts validator from spring applicationContext
?
Your bean is not configured in application context. You should add @Component
annotation to let the Spring find this bean using component scan.
@Component
public class MyValidator(){
@javax.inject.Inject
private HelperClass aHelperClass;
}