这个问题看起来有点奇怪。假设我有一个服务,我想在具有一些静态方法的Utility类中使用。该服务是一个Spring bean,很自然我会使用setter和(@Autowired)将它注入我的实用类。如在Spring的文档中提到的,所有bean在bean上下文中都是静态的。所以当你想在一个类中注入一个bean时,你不必使用“static”修饰符。请看下图:在静态方法中使用注入bean的正确方法是什么?
public class JustAClass{
private Service service;
public void aMethod(){
service.doSomething(....);
}
@Autowired
public void setService(Service service){
this.service = service;
}
}
现在回到了我第一个提到的(静态方法使用Service):
public class JustAClass{
private static Service service;
public static void aMethod(){
service.doSomething(....);
}
@Autowired
public void setService(Service service){
this.service = service;
}
}
虽然服务是静态的,我不得不把静态的定义后面。这对我来说有点反直觉。这是错的吗?还是更好的方法? 谢谢
这是很好的,对我的作品! – Kaunteya
这是否会定期完成?或者在这些情况下通常采用不同的方法? –