在一个静态方法中要使用SpringIOC容器中的某个bean,但是Spring不支持自动装载静态变量(@Autowired)。这样就无法在静态方法中调用这个非静态的变量,应该怎么办?
首先是不建议这么使用,肯定可以由别的方案来实现同样的效果。
已经解决了,将该类的方法的static关键字都去掉,在该类的头部加入@Component注解,将该类注入SpringIOC容器中,Controller调用该类前自动装载即可。
这样,在该类自动装载需要用到的某个bean时就不会报错,且能正常使用。
你这是对springIOC的控制反转理解不到位,才会想到用static,springIOC就是用来控制对象的实例化的,你这不过是用了注解的方式,其实和配置文件
applicationcontext.xml的方法达到的效果是一样的。