當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
初始化Spring Bean:Bean初始化有哪些方式?
生活随笔
收集整理的這篇文章主要介紹了
初始化Spring Bean:Bean初始化有哪些方式?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** Bean 初始化 Demo*/
@Configuration // Configuration Class
public class BeanInitializationDemo {public static void main(String[] args) {// 創建 BeanFactory 容器AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();// 注冊 Configuration Class(配置類)applicationContext.register(BeanInitializationDemo.class);// 啟動 Spring 應用上下文applicationContext.refresh();// 非延遲初始化在 Spring 應用上下文啟動完成后,被初始化System.out.println("Spring 應用上下文已啟動...");// 依賴查找 UserFactoryUserFactory userFactory = applicationContext.getBean(UserFactory.class);System.out.println(userFactory);System.out.println("Spring 應用上下文準備關閉...");// 關閉 Spring 應用上下文applicationContext.close();System.out.println("Spring 應用上下文已關閉...");}@Bean(initMethod = "initUserFactory", destroyMethod = "doDestroy")@Lazy(value = false)public UserFactory userFactory() {return new DefaultUserFactory();}
}
/*** 默認 {@link UserFactory} 實現*/
public class DefaultUserFactory implements UserFactory, InitializingBean, DisposableBean {// 1. 基于 @PostConstruct 注解@PostConstructpublic void init() {System.out.println("@PostConstruct : UserFactory 初始化中...");}public void initUserFactory() {System.out.println("自定義初始化方法 initUserFactory() : UserFactory 初始化中...");}@Overridepublic void afterPropertiesSet() throws Exception {System.out.println("InitializingBean#afterPropertiesSet() : UserFactory 初始化中...");}@PreDestroypublic void preDestroy() {System.out.println("@PreDestroy : UserFactory 銷毀中...");}@Overridepublic void destroy() throws Exception {System.out.println("DisposableBean#destroy() : UserFactory 銷毀中...");}public void doDestroy() {System.out.println("自定義銷毀方法 doDestroy() : UserFactory 銷毀中...");}@Overridepublic void finalize() throws Throwable {System.out.println("當前 DefaultUserFactory 對象正在被垃圾回收...");}
}
?
總結
以上是生活随笔為你收集整理的初始化Spring Bean:Bean初始化有哪些方式?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实例化Spring Bean:Bean实
- 下一篇: Spring 中常用的设计模式对比