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

主要内容

  • 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是两种不同的销毁方式,是平级的,可共存,效果一样,一般选其一即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文章作者:Tyan博客:noahsnail.com 3.4 Dependencies A typical ente...
    SnailTyan阅读 9,760评论 2 7
  • Spring容器高层视图 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相...
    Theriseof阅读 7,830评论 1 24
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,818评论 19 139
  • 所谓幸福,不过是 双方父母安好,两人工作稳定 星期五的晚上,两人坐在沙发上,我抱着西瓜靠在他的肩上,孩子坐在地毯上...
    伪善_阅读 1,310评论 0 0
  • 周末,跟随着“朋友圈樱花盛开的地方”,来到了南京林业大学。久违的校园气息伴随着浓浓的花香迎面而来,滋润...
    刘志胜阅读 3,759评论 1 5

友情链接更多精彩内容