/*** 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初始化有哪些方式?相关推荐

  1. Jboss AS 7 部署web应用程序时无法初始化spring的bean的解决办法

    Jboss AS 7 在部署web应用程序的时候无法初始化spring的bean(在tomcat下边不会出现这个问题) 原因是web应用程序没有导入jboss对spring的支持的jar包 解决方法: ...

  2. spring之Bean的生命周期

    Bean的生命周期: Bean的定义--Bean的初始化--Bean的使用--Bean的销毁 Bean的定义 Bean 是 Spring 装配的组件模型,一切实体类都可以配置成一个 Bean ,进而就 ...

  3. Spring中Bean初始化和销毁的多种方式

    Spring中Bean初始化和销毁的多种方式 一.Bean的多种初始化方式 1.PostConstruct注解 2.实现InitializingBean接口 3.声明init-method方法 二.B ...

  4. Spring中bean的初始化和销毁几种实现方式详解

    关联博文:Spring中Bean的作用域与生命周期 Bean的生命周期 : 创建bean对象 – 属性赋值 – 初始化方法调用前的操作 – 初始化方法 – 初始化方法调用后的操作 – --- 销毁前操 ...

  5. Spring中bean的执行初始化和销毁方法的4种方式详解

    一.引入 在java的实际开发过程中,我们可能需要在spring实例化一个bean的过程中,使用到初始化一个对象(bean)后立即初始化(加载)一些数据,或者在销毁一个对象之前进行执行一些事情等等. ...

  6. java 延迟实例化_延迟初始化Spring Bean的几种方式

    XML 配置: Java 注解:@Lazy(true) Spring 中默认是非延迟加载Bean的,也就是提前把Bean初始化好,用的时候直接用. 优点是运行的时候比较快(提前初始化了,直接用). 缺 ...

  7. 延迟初始化Spring Bean的几种方式

    XML 配置:<bean lazy-init="true" - /> Java 注解:@Lazy(true) Spring 中默认是非延迟加载Bean的,也就是提前把B ...

  8. Spring5 - Bean的初始化和销毁的4种方式

    文章目录 概述 方式一: 自行指定bean的初始化方法和bean的销毁方法 方式二: 通过 InitializingBean和DisposableBean 接口实现bean的初始化以及销毁方法 方式三 ...

  9. Spring 管理Bean(获取Bean,初始化bean事件,自动匹配ByName······等)

    1.实例化spring容器 和 从容器获取Bean对象 实例化Spring容器常用的两种方式: 方法一: 在类路径下寻找配置文件来实例化容器 [推荐使用] ApplicationContext ctx ...

最新文章

  1. PAT甲级1120 Friend Numbers:[C++题解]set去重且有序
  2. 77. 组合(回溯算法)
  3. 【已解决】可以访问Tomcat下webapp中的文件目录(间接实现下载功能)
  4. 史上最难高考数学,全国平均26分...
  5. 今天专攻POWERSHELL获取本机CPU,内存消耗
  6. Spring Boot EasyUI edatagrid 扩展
  7. MySQL DDL--ghost执行模板和参数
  8. 〖Linux〗使用ssh登录远程主机,并在本地打开远程图形界面
  9. 南宁二中三中高考2021成绩查询,2020年南宁二中三中录取总成绩不低于A
  10. 多线程环境过度优化下的CPU乱序问题
  11. stm32 代码加密
  12. Freenom免费域名申请
  13. 官方JwPlayer去水印步骤
  14. 三分钟看懂神经网络机器翻译
  15. World中利用宏命令批量删除页眉和页脚(亲测好用!)
  16. 《OKR工作法:谷歌、领英等公司的高绩效秘籍》读书笔记
  17. 20201103_如何使用标识符?
  18. ACTF2020新生赛-upload1
  19. 那些年啊,那些事——一个程序员的奋斗史 ——114
  20. Openv2.1基本数据类型

热门文章

  1. vs 本地调试(IIS)
  2. plsql developer导入导出序列方法
  3. Chrome浏览器之 Postman 安装-转
  4. Spring MyBatis多数据源分包
  5. 在C#中怎么调用Resources文件中的图片
  6. 各大公司容器云的技术栈对比
  7. 索引键的唯一性(3/4):唯一聚集索引上的唯一和非唯一非聚集索引
  8. 2012 Java陷阱
  9. java跳出指定循环
  10. 提升JSP应用程序的七大秘籍绝招