设计实现一个Bean,让它实现InitialzingBean、DisposableBean接口,并通过ApplicationContext验证它
时间: 2023-11-27 07:55:43 浏览: 50
Spring Bean初始化及销毁多种实现方式
可以按照以下步骤设计实现一个Bean,让它实现`InitializingBean`、`DisposableBean`接口,并通过`ApplicationContext`验证它:
1. 创建一个Java类,命名为`MyBean`,并实现`InitializingBean`、`DisposableBean`接口,代码如下:
```java
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
public class MyBean implements InitializingBean, DisposableBean {
public MyBean() {
System.out.println("MyBean constructor");
}
@Override
public void destroy() throws Exception {
System.out.println("MyBean destroy");
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("MyBean afterPropertiesSet");
}
}
```
2. 在Spring的配置文件中声明该Bean,如下所示:
```xml
<bean id="myBean" class="com.example.MyBean"/>
```
3. 编写一个Java类,用于加载Spring的配置文件并获取Bean,代码如下所示:
```java
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyApp {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
MyBean myBean = context.getBean("myBean", MyBean.class);
}
}
```
4. 运行`MyApp`类,查看控制台输出结果。
输出结果应该为:
```
MyBean constructor
MyBean afterPropertiesSet
```
这表明`MyBean`已经成功地实现了`InitializingBean`接口,并在Spring容器初始化后自动调用了`afterPropertiesSet`方法。
5. 关闭Spring容器,观察控制台输出结果。
输出结果应该为:
```
MyBean destroy
```
这表明`MyBean`已经成功地实现了`DisposableBean`接口,并在Spring容器销毁前自动调用了`destroy`方法。
通过以上步骤,我们验证了`MyBean`已经成功地实现了`InitializingBean`、`DisposableBean`接口,并且可以通过`ApplicationContext`进行验证。
阅读全文