在Spring中,Bean的生命周期由一系列回调方法组成,允许开发者在Bean的创建、初始化和销毁阶段执行自定义逻辑。以下是一些重要的Bean生命周期方法:
afterPropertiesSet
方法: 该方法在Bean的所有属性被设置之后、任何配置回调(例如Aware
接口)被调用之后被调用。它是InitializingBean
接口的一部分。import org.springframework.beans.factory.InitializingBean;
public class MyBean implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
// 执行初始化逻辑
}
}
@PostConstruct
注解: 通过在自定义方法上添加@PostConstruct
注解,可以将该方法标识为Bean的初始化方法。import javax.annotation.PostConstruct;
public class MyBean {
@PostConstruct
public void customInit() {
// 执行初始化逻辑
}
}
init-method
属性指定自定义的初始化方法。
destroy
方法: 该方法在Bean销毁之前被调用。它是DisposableBean
接口的一部分。import org.springframework.beans.factory.DisposableBean;
public class MyBean implements DisposableBean {
@Override
public void destroy() throws Exception {
// 执行销毁逻辑
}
}
@PreDestroy
注解: 通过在自定义方法上添加@PreDestroy
注解,可以将该方法标识为Bean的销毁方法。import javax.annotation.PreDestroy;
public class MyBean {
@PreDestroy
public void customDestroy() {
// 执行销毁逻辑
}
}
destroy-method
属性指定自定义的销毁方法。
开发者可以根据具体需求选择使用上述方法中的一种或组合。在实际应用中,通常使用@PostConstruct
和@PreDestroy
注解或XML配置的方式比较常见。如果Bean实现了InitializingBean
和DisposableBean
接口,那么afterPropertiesSet
和destroy
方法也会被调用。
Proudly powered by WordPress