在Java中,其反射和动态代理机制极其强大,我们可以通过其反 射机制在运行时获取信息
而代理是一种基本的设计模式,它是一种为了提供额外的或不同的操作而插入到真 实对象中的某个对象
而 Java的动态代理在代理上更进一步,既能动态的创建代理对象,又能动态的调用代理 方法
Java的反射和动态代理机制,使 Java变得更加强大
Spring框架这几年风头正劲, 虽然使用者众多,但真正了解其内部实现原理的朋友却并不是很多
其实,了解它的内部实现机制和设计思想 是很有必要的大家都知道,Spring框架的 IOC和AOP部分功能强大,很值得我们学习
那么让我们在这两篇文章 中分别详细的学习 IOC和AOP的实现吧
在本文中,主要讲述的是用 Java的反射机制实现 IOC
下 面,让我们开始 IOC之旅吧
一. Java反射机制概述与初探 Java的反射机制是 Java语言的一个重要特性,Java具有的 比较突出的动态机制就是反射(reflection)
通过它,我们可以获取如下信息: 1) 在运行时判断任意一个对象所属的类; 2) 在运行时获取类的对象; 3) 在运行时获得类所具有的成员变量和方法等
下面让我们通过调用一个 Java Reflection API的演示实 例来见识一下反射机制的强大
首先在IDE中建立名为 reflection_proxy的 Java工程,并 建立存放源文件的目录 src,并在src目录下分别建立 org
reflection目录和org
proxy目录来分 别存放代理和反射的实例
我们在reflection目录下建立 ReflectionTest
java文件,在该文件中编写代码来 演示 Java Reflection API的使用
该类的代码如下所示: package org
reflection;