非Controller里@Autowired 注入失败导致报java.lang.nullpointerexception
一开始一直报空指针,以为其他哪里写错了,后来打了断点发现Service根本就没注入进来,上网查了下。
解决方法如下:
第一步 在类上添加 @Component 注解 。
@Component就是把普通的类实例化到Spring容器中,相当于配置文件的<bean id="" class="" />
泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。这样扫描就可以扫到。
第二步 静态实例当前类
第三步 @PostConstruct:被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的inti()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。