在Spring中,bean的初始化可以通过两种方式来完成:使用@Bean注解的initMethod属性或者实现InitializingBean接口。
1. 使用@Bean注解的initMethod属性:可以在@Bean注解中通过initMethod属性指定一个方法来作为bean的初始化方法。例如:
```java
@Bean(initMethod = "init")
public MyBean myBean() {
return new MyBean();
}
```
这样,在bean实例化之后,就会调用指定的初始化方法init()。
2. 实现InitializingBean接口:可以让bean类实现InitializingBean接口,并实现其中的afterPropertiesSet()方法。例如:
```java
public class MyBean implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
// 初始化操作
}
}
```
在bean实例化之后,Spring会自动调用afterPropertiesSet()方法进行初始化操作。
以上两种方式可以单独使用,也可以同时使用。当两种方式一起使用时,首先会调用实现InitializingBean接口的afterPropertiesSet()方法,然后再调用使用@Bean注解的initMethod属性指定的方法。