SpringBoot使用@Autowired注入为空,使用的反射

I'm Shendi

这几天我在项目内加了个服务,在 main 方法里通过Class.forName加载那个类静态代码块.

然后发现被加载的类的使用的 @Autowired 注解注入的对象为 null.

通过搜查百度...什么的,都没有解决,最后通过万能的网友解决了.

如上,问题是反射加载调用的无法使用Spring的注解了.

在上面我把 环境给提供出去了.

解决办法: 我们在启动服务器的时候会返回 context,只要通过context.getBean,就可以获取到指定对象,就是不能使用注入,得自己手动获取

原本的

@Autowired

private RepertoryMapper repertory;

改为了在构造方法里通过 环境.getBean的方式获取对象.

猜你喜欢

转载自blog.csdn.net/qq_41806966/article/details/106883841