Java反射机制在Spring IOC中怎么用
导读:本文共2436.5字符,通常情况下阅读需要8分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: Java反射机制在Spring IOC的应用IOC:即“控制反转”,不是什么技术,而是一种思想。使用IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。本篇文章主要讲解一下IOC底层实现的原理(反射),Bean容器的实现,就不对IOC的概念进行详述了。在Spring的配置文件中,经常看到如下配置:<beanid="cou... ...
目录
(为您整理了一些要点),点击可以直达。IOC:即“控制反转”,不是什么技术,而是一种思想。使用IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
本篇文章主要讲解一下IOC底层实现的原理(反射),Bean容器的实现,就不对IOC的概念进行详述了。
在Spring的配置文件中,经常看到如下配置:
那么通过这样配置,Spring是怎么帮我们实例化对象,并且放到容器中去了了?对,就是通过反射!!!
并放到容器中的伪代码:
通过解析xml文件,获取到id属性和class属性里面的内容,利用反射原理获取到配置里面类的实例对象,存入到Spring的bean容器中。
当一个类里面需要应用另一类的对象时,
我们继续用伪代码的形式来模拟
通过上面对Spring底层原理的分析,可以发现,其实并不难,用到的都是反射机制,通过反射实例化对象,存入到Spring的bean容器中。
只要在代码或配置文件中看到类的完整路径(包.类),其底层原理基本上使用的就是Java的反射机制。
通过java语言中的反射机制可以i操作字节码文件(读和修改字节码文件)
通过反射机制可以操作代码片段(class文件)
在运行时判断一个对象所属的类
在运行时构造一个类的对象
在运行时判断一个类所具有成员变量和方法
在运行时调用一个对象的方法
java.lang.Class
: 代表整个字节码,代表一个类型,代表整个类。
java.lang.reflect.Method
: 代表字节码中的方法字节码,代表类中的方法。
java.lang.reflect.Contructor
: 代表字节码中的构造方法字节码,代表类中的构造方法。
java.lang.reflect.Field
: 代表字节码中的属性字节码,代表类中的成员变量。
代码如下(示例):
Java反射机制在Spring IOC中怎么用的详细内容,希望对您有所帮助,信息来源于网络。