使用 InitializingBean 自定义 bean 初始化逻辑
简介
InitializingBean
是 Spring 框架中的一个接口,提供了一种在 bean 完成属性设置后进行自定义初始化的机制。实现这个接口的类可以在 Spring 容器完成 bean 的属性注入后,执行一些初始化逻辑。下面是接口定义:
public interface InitializingBean {
void afterPropertiesSet() throws Exception;
}
afterPropertiesSet()
方法会在 bean 属性注入后被调用,此时可以执行自定义的初始化逻辑。
示例:资源初始化
在某些情况下,可能需要在 bean 初始化时加载资源,例如从数据库或文件中加载配置。
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
@Component
public class ConfigLoader implements InitializingBean {
private String config;
@Override
public void afterPropertiesSet() throws Exception {
// 加载配置
this.config = loadConfig();
System.out.println("Configuration loaded: " + config);
}
private String loadConfig() {
// 实际加载逻辑
return "Sample Config";
}
}
在上述代码中,ConfigLoader
实现了InitializingBean
接口,在afterPropertiesSet()
方法中,加载了一个配置,并将其打印出来。
参考:ChatGPT