Im trying to inject my object , however it throws null pointer exception . Please advise. I have tried to pass the resource name as both capital and small letter, However still throw same error.
017-01-19T23:17:31.364+0800|Info: java.lang.NullPointerException
at com.vinoth.test.AppMain.mainMethod(AppMain.java:8)
at com.vinoth.test.HelloController.byParameter(HelloController.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
Below is my component class .
@Component
public class Processor {
public int sum(int a , int b){
return a+b;
}
}
Error is at line : int value = processor.sum(1, 2);
public class AppMain {
@Resource(name="Processor")
Processor processor;
public int mainMethod() {
int value = processor.sum(1, 2);
return value;
}
}
Here is my AppConfig class
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.vinoth.test")
public class AppConfig extends WebMvcConfigurerAdapter {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/view/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
registry.addStatusController("/detail", HttpStatus.BAD_REQUEST);
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}