spring中bean的初始化方法是什么

小億
144
2023-09-21 17:48:40

在Spring中,bean的初始化可以通過(guò)兩種方式來(lái)完成:使用@Bean注解的initMethod屬性或者實(shí)現(xiàn)InitializingBean接口。

  1. 使用@Bean注解的initMethod屬性:可以在@Bean注解中通過(guò)initMethod屬性指定一個(gè)方法來(lái)作為bean的初始化方法。例如:
@Bean(initMethod = "init")
public MyBean myBean() {
return new MyBean();
}

這樣,在bean實(shí)例化之后,就會(huì)調(diào)用指定的初始化方法init()。

  1. 實(shí)現(xiàn)InitializingBean接口:可以讓bean類(lèi)實(shí)現(xiàn)InitializingBean接口,并實(shí)現(xiàn)其中的afterPropertiesSet()方法。例如:
public class MyBean implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
// 初始化操作
}
}

在bean實(shí)例化之后,Spring會(huì)自動(dòng)調(diào)用afterPropertiesSet()方法進(jìn)行初始化操作。

以上兩種方式可以單獨(dú)使用,也可以同時(shí)使用。當(dāng)兩種方式一起使用時(shí),首先會(huì)調(diào)用實(shí)現(xiàn)InitializingBean接口的afterPropertiesSet()方法,然后再調(diào)用使用@Bean注解的initMethod屬性指定的方法。

0