今天遇到一个问题,impl类里面添加@Autowired注解的config没有调用到,报NullPointerException。但是在Controller类中添加@Autowired注解的config就可以被调用到。解决办法如下:
在impl 类中添加@Autowired注解的类,想要调用成功,则需要在调用impl类时,初始化impl类时也需要是用@Autowired注解。如下:
@CrossOrigin @RestController() @RequestMapping("/keda") public class TestController { private static final Logger logger = Logger.getLogger(TestController.class); @Autowired private TestManagerImpl testManagerImpl;(这样在TestManagerImpl 类里是用@Autowired注解的类不为空) }
@CrossOrigin @RestController() @RequestMapping("/keda") public class TestController { private static final Logger logger = Logger.getLogger(TestController.class); @Autowired private TestManager testManager = new TestManagerImpl;(这样在TestManagerImpl 类里是用@Autowired注解的类时报空) }
为什么要这样定义,本人不太清楚,欢迎大家留言指教