SpringBoot初始化执行自定义接口
直接加载接口的方法上即可
@PostConstruct
public void init() {
//加载初始化数据
}
@PostConstruct是一个在Java EE 5规范中引入的注解,用于标记在依赖注入完成后需要执行的方法。这个注解定义在javax.annotation包中,而不是在java包中,因为Java的设计者认为这些功能不属于Java的核心API,因此放在了扩展包中
使用场景和作用
@PostConstruct注解主要用于在对象创建后、依赖注入完成后执行初始化操作。这些操作可能包括:
初始化资源:例如加载数据字典、初始化数据库连接等
执行必要的校验:检查配置是否正确、依赖是否满足等
设置静态属性:通过@PostConstruct注解的方法可以为静态属性赋值
使用限制和注意事项
方法定义:被@PostConstruct注解的方法必须是实例方法,不能是静态方法。方法的访问修饰符可以是public、protected或private,但必须是void返回类型
执行顺序:在Spring中,对象的初始化顺序为:构造函数 > @Autowired > @PostConstruct。这意味着@PostConstruct注解的方法会在依赖注入完成后执行
多个方法:如果一个类中有多个被@PostConstruct注解的方法,它们的执行顺序是不确定的。可以通过使用@Order注解来指定执行顺序
历史背景和兼容性
@PostConstruct注解并不是Spring提供的,而是Java EE 5规范的一部分,位于javax.annotation包中。Spring框架支持这一规范,因此在Spring项目中可以使用该注解来执行初始化操作