SpringBoot 新手,比如我,对注解一知半解的情况下,基本都会犯下面的错误
Springboot 中 new 出来的实例中含有 @Autowired 注入时的 Spring Bean 为 NULL
也就是报错
java.lang.NullPointerException
我们一般是怎么做的呢?
差不多就是从 A 类里调用 B 类的方法,我直接 new B()
然后去调用发现 B 类中 @Autowired
注入的Spring Bean
为 NULL
。
这时候我们要怎么做呢?
既然是依赖注入,那么我们所有的实例都从容器里拿
try { // 获取当前的spring容器,这里采用spring方法获取Bean ApplicationContext ac = ContextLoader.getCurrentWebApplicationContext(); AccountAuction a = (B) ac.getBean("B"); // 调用方法 a.save(vo); } catch (Exception e) { e.printStackTrace(); }