Spring生命周期中的afterPropertiesSet()方法

Kee*_*ary 3 spring

spring bean的afterPropertiesSet()生命周期方法有什么用?它可以在现实世界的应用中用于哪些类型的活动?

jba*_*eta 5

正如方法名称afterPropertiesSet()BeanFactory所暗示的,它将在提供所有属性后调用,并且可用于初始化 bean 或确保其处于有效状态。

假设我有一个带有 String 属性的 bean,该属性不能为 null 或空。

public class MyBean implements InitializingBean {

private String myString;

    public void afterPropertiesSet() {
        if(myString == null || myString.isEmpty()){
            throw IllegalStateException("myString must have text.");
        }
    }

    public void setMyString(String myString) {       
        this.myString = myString;
    }
}
Run Code Online (Sandbox Code Playgroud)

当然这只是一个非常简单的代码来演示如何在实际应用中使用。

哈特哈,

何塞·路易斯