spring bean本质上是创建的实例对象,只不过这些实例对象是被spring托管的。
而工具类中的工具方法一般都是静态的,有些时候我们需要在工具类的静态方法中使用spring bean的场景,请参考:
@Component
public class MyUtils {
@Autowired
private IBeanService beanService;
private static MyUtils myUtils;
@PostConstruct
public void init() {
myUtils = this;
myUtils.beanService = this.beanService;
}
private MyUtils() {
}
private static IBeanService getBeanService() {
return myUtils.beanService;
}
public static void util1() {
// 该工具方法中可以通过getBeanService获得spring中注入的实例进行操作了
}
}