您的位置:首页 > 编程语言 > Java开发

Spring3.x企业开发实战之Ioc容器概述

2013-09-07 10:42 579 查看

学习目标

掌握依赖注入的设计思想,实现原理,以及几个Spring Ioc容器级接口知识。

设计思想

Ioc 是Spring容器的核心,AOP、声明式功能都在此基础上实现, 将一个接口具体实现类的选择控制权从调用类中移除,转交为第三方(配置文件、注解、或者JavaConfig)决定。从注入方法上看,可以划分为三个类型 构造函数注入,属性注入(Get,Set方法),以及接口注入(额外增加一个接口,来实现注入,实现效果和属性注入无本质区别)。

实现原理

Java语言允许通过程序话的方式间接的对Class进行操作,Class文件由类装载器载入后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息: 如构造函数、属性和方法等。Java允许用户根据这些元信息,创建Class对应的对象,并且调用对象的相关操作。

类装载器工作机制

类装载器就是寻找类下的字节码文件并构造出类在JVM内部标示对象的组件。在JAVA中类装载器把一个类装入JVM需要经过以下几个步骤
1装载:查找和导入Class文件
2链接:执行校验、准备和解析步骤
a)校验 检查载入class文件数据的准确性
b) 准备 给类的静态变量分配存储空间
c) 解析 将符号应用转化成直接饮用
JVM装载类时用使用“全盘负责委托机制”,全盘负责是指当一个ClassLoader装载一个类时,除非显示的使用另外一个ClassLoader,该类所依赖的类以及引用的类也有这个ClassLoader载入,“委托机制”是指先委托父类装载器寻找目标类,只有在找不到的情况下才从自己的类路径中查找并装入目标类。

Java反射机制

Class反射对象描述类语义的结构,可以用Class对象中获取构造函数、成员变量、方法类等类元素的反射对象,并以变成的方式通过这些反射对象对目标对象进行操作,这边反射对象在java。reflect包中进行定义。

IOC容器级抽象接口

资源访问抽象接口



BeanFactory和ApplicationContext

BeanFactory是Spring框架最核心的接口,它提供了高级Ioc的配置机制。BeanFactory是管理不能类型的java对象成为了可能,ApplicationContext是建立在BeanFactory之上的,它提供了更多的面向应用的功能,提供了国际化支持和框架时间体系结构,更易于创建实际的应用。BeanFactory是Spring框架的基础设施更多的是面向Spring本身,ApplicationContext面向的使用Spring框架的开发者。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: