@PostConstruct
希望在工具类中定义静态方法调用其他Service完成业务逻辑,避免其他Service每次都注入工具类对象
@Component
public class DemoUtil {
//静态实例对象(不能直接用@Autowired进行注入,否则结果为空,引发空指针)
private static DemoUtil demoUtil;
@Autowired//注入当前工具类实例对象
private DemoUtil util;
@PostConstruct//修饰的方法用于初始化,需满足方法不能带参数和返回值必须为void两个条件,在服务器加载Servlet时候执行且只执行一次
public void init(){
demoUtil = util;//通过实例对象给静态实例赋值
}//或者写法:public @PostConstruct void init(){ }
@Autowired//注入其他Service实例对象
private IService service;
//在静态方法里,
public static Object method(){
demoUtil.service.xxx();//业务逻辑
}
扩展:
用于任何需要给静态对象自动注入实例的情况都可以使用
博客介绍了使用@PostConstruct,希望在工具类中用静态方法调用其他Service完成业务逻辑,避免多次注入工具类对象。还指出该方法可扩展用于任何需要给静态对象自动注入实例的情况。
11万+

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



