1、如何在普通类中调用mapper中的方法
在普通类中使用mapper方法时,普通类进行构造时此时还没有进行bean的注入,没有生成上下文对象,所以mapper对象为null,调用时报nullPointException
初始化顺序:
静态变量 – 非静态成员变量 – 执行构造函数(此时通过@autowired修饰的成员变量为null) – bean注入 – 执行被@PostConstruct注解修饰的init函数
@PostConstruct注解用于在依赖注入完成后,执行一些初始化操作
实例代码:
@Component
public class Warning {
@Autowired
private MaintenanceMapper maintenanceMapper;
public static Warning warning;
@PostConstruct
private void init(){
warning = this;
warning.maintenanceMapper = this.maintenanceMapper;
}
}
2、在程序启动完成之后去做一些操作
ApplicationListener<ApplicationReadyEvent> 是 Spring 框架中的事件监听器接口,用于监听应用程序启动完成的事件,实现该接口,并重写onApplicationEvent方法,就可以在方法中去做一些初始化操作:启动定时任务,开启监听线程等。