@Component //申明为spring组件
public class TestUtils {
@Autowired
private TestService testService; //添加所需service的私有成员
//关键点一 静态初使化一个工具类,这样是为了在spring初使化之前
private static TestUtils testUtils ;
public void setTestService(TestService testService) {
this.testService = testService;
}
//关键点二 通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
@PostConstruct
public void init() {
testUtils = this;
testUtils.testService = this.testService; // 初使化时将已静态化的testService实例化
}
这样下面的代码中就可以通过 testUtils.testService 来调用service处理。
鸣谢:all_forone
本文介绍了一种在Spring框架中设计实用工具类的方法。通过@Component注解声明为Spring组件,并利用@Autowired注解注入所需的TestService服务。通过@PostConstruct注解实现bean初始化前的操作,确保在Spring初始化之前能够正确地静态初始化工具类。

被折叠的 条评论
为什么被折叠?



