加入收藏 | 设为首页 | 会员中心 | 我要投稿 吉安站长网 (https://www.0796zz.com.cn/)- 科技、图像处理、媒体智能、办公协同、操作系统!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

在2021年对人工智能和机器学习的期望

发布时间:2021-01-30 19:22:08 所属栏目:传媒 来源:互联网
导读:如果仅仅是实例化跟依赖注入当然简单,问题是如果我们要完成自定义的要求,Spring提供了一系列接口跟配置来完成 Bean 的初始化过程,看下整个IOC容器初始化Bean的流程。 一般情况下我们自定义Bean的初始化跟销毁方法下面三种: 1.通过 XML 或者 @Bean配置 通

如果仅仅是实例化跟依赖注入当然简单,问题是如果我们要完成自定义的要求,Spring提供了一系列接口跟配置来完成 Bean 的初始化过程,看下整个IOC容器初始化Bean的流程。

一般情况下我们自定义Bean的初始化跟销毁方法下面三种:

1.通过 XML 或者 @Bean配置

通过xml或者@Bean(initMethod="init", destroyMethod="destory")来实现。

2.使用 JSR250 规则定义的(java规范)两个注解来实现

@PostConstruct: 在Bean创建完成,且属于赋值完成后进行初始化,属于JDK规范的注解。

@PreDestroy: 在bean将被移除之前进行通知,在容器销毁之前进行清理工作。

提示:JSR是由JDK提供的一组规范。

3.通过继承实现类方法

实现InitializingBean接口的afterPropertiesSet()方法,当beanFactory创建好对象,且把bean所有属性设置好之后会调这个方法,相当于初始化方法。

实现DisposableBean的destory()方法,当bean销毁时会把单实例bean进行销毁

对于单实例的bean,可以正常调用初始化和销毁方法。对于多实例的bean,容器只负责调用时候初始化,但不会管理bean, 容器关闭时不会调用销毁方法
 

5. BeanFactory 和 FactoryBean

5.1 BeanFactory

  • BeanFactory 以 Factory 结尾,表示它是一个工厂类(接口),BeanFacotry 是 Spring 中比较原始的Factory。
  • BeanFactory 无法支持 Spring 的许多插件,如AOP功能、Web应用等。ApplicationContext 接口由BeanFactory接口派生而来,提供了国际化访问、事件传播等多个功能。
  • BeanFactory 是 IOC 容器的核心,负责生产和管理 Bean 对象。

5.2 FactoryBean

  • FactoryBean 以 Bean 结尾,表示它是一个Bean。
  • FactoryBean 是工厂类接口,用户可以通过实现该接口定制实例化 Bean 的逻辑。FactoryBean 接口对于 Spring 框架来说占用重要的地位,Spring自身就提供了70多个FactoryBean的实现。
  • 当在IOC容器中的Bean实现了 FactoryBean 后,通过getBean(String BeanName)获取到的 Bean 对象并不是 FactoryBean 的实现类对象,而是这个实现类中的 getObject() 方法返回的对象。要想获取FactoryBean的实现类,就要 getBean(String &BeanName),在BeanName之前加上 &。

6. Spring生命周期

Spring IOC 初始化跟销毁 Bean 的过程大致分为Bean定义、Bean初始化、Bean的生存期 跟 Bean的销毁4个部分。

(编辑:吉安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读