美文网首页
web填坑-天坑Spring IOC容器(3)

web填坑-天坑Spring IOC容器(3)

作者: 在南方的北方人_Elijah | 来源:发表于2017-02-20 21:18 被阅读25次

主要内容

  • IoC概述
  • Java反射机制
  • 资源访问工具类
  • BeanFactory和ApplicationContext的介绍
  • Bean的生命周期

IOC概述

剧本案例

无间道依赖于刘德华,引入角色接口后,无间道依赖于刘建明这个角色,同时也依赖于刘德华,显然不合理。

导演就相当于IOC 完全解耦

IOC注入类型

注入类型 构造函数注入 属性注入 接口注入 spring容器注入

Java反射机制

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。

Bean的生命周期

Bean的生命周期:
1,实例化bean
2,设置javaBean的属性值
3,若该bean实现了BeanNameAware接口,则调用该接口的setBeanName()方法
4,若该bean实现了BeanFactoryAware接口,则调用该接口的setBeanFactory()方法
5, 若sping为所有javaBean配置了后处理器,即实现了BeanPostPorcessor接口的java类,并在配置文件中注册为bean, 调用BeanPostProcessor接口的postProcessBeforeInitialization()方法
6,若bean实现了InitializingBean接口,则调用该接口的afterPropertiesSet()方法
7, 调用bean中自己定制的初始化方法:配置文件中配置init-method, 7和8的初始化方法是平级的,可共存,效果一样,一般选其一即可
8,调用BeanPostPorcessor接口的postProcessAfterInitialization()方法 容器销毁后,调用bean中定制的销毁方法
9,若该bean实现了DisposableBean接口,调用其destroy()方法,
10,配置文件中指定自定义的销毁方法:destroy-method , 9和10是两种不同的销毁方式,是平级的,可共存,效果一样,一般选其一即可

相关文章

网友评论

      本文标题:web填坑-天坑Spring IOC容器(3)

      本文链接:https://www.haomeiwen.com/subject/yaeewttx.html