依赖注入分为:构造函数注入、属性注入和接口注入。其中Spring支持构造函数注入和属性注入。
JAVA 反射
Java语言允许通过程序化的方式间接对Class进行操作,Class文件由类装载器装载后,在JVM中将形成一个描述Class结构的元信息对象,通过
该元信息对象可以获知Class的结构信息:如构造函数、属性和方法等。Java允许用户借由这个Class相关的元信息对象简接调用Class对象的
功能,这就为使用程序化方式操作Class对象开辟了路径。也就是说我们可以不通过构造函数的方式创建类的对象,并设置对象的属性和调用
该对象所拥有的方法。
类加载器ClassLoader
类加载器ClassLoader的工作机制
类加载器ClassLoader就是寻找类的字节码文件并构造出类在JVM内部表示对象的组件。在JAVA中,类装载器把一个类装入JVM中,要经过以下步骤:
1、装载:查找和导入Class文件
2、链接:执行校验、准备和解析步骤
校验:检查载入Class文件数据的正确性;
准备:给类的静态变量分配存储空间;
解析:将符号引用转成直接引用
3、初始化:对类的静态变量、静态代码块执行初始化工作
类装载工作由ClassLoader及其子类负责,ClassLoader是一个重要的Java运行时系统组件,它负责在运行时查找和装入Class字节码文件,JVM在运行时
会产生三个ClassLoader:根装载器、ExtClassLoader(扩展类转载器)和AppClasssLoader(系统类装载器)。其中,根装载器不是ClassLoader的子类,它
使用C++编写,因此我们在Java中看不到。
JAVA 反射
Java语言允许通过程序化的方式间接对Class进行操作,Class文件由类装载器装载后,在JVM中将形成一个描述Class结构的元信息对象,通过
该元信息对象可以获知Class的结构信息:如构造函数、属性和方法等。Java允许用户借由这个Class相关的元信息对象简接调用Class对象的
功能,这就为使用程序化方式操作Class对象开辟了路径。也就是说我们可以不通过构造函数的方式创建类的对象,并设置对象的属性和调用
该对象所拥有的方法。
类加载器ClassLoader
类加载器ClassLoader的工作机制
类加载器ClassLoader就是寻找类的字节码文件并构造出类在JVM内部表示对象的组件。在JAVA中,类装载器把一个类装入JVM中,要经过以下步骤:
1、装载:查找和导入Class文件
2、链接:执行校验、准备和解析步骤
校验:检查载入Class文件数据的正确性;
准备:给类的静态变量分配存储空间;
解析:将符号引用转成直接引用
3、初始化:对类的静态变量、静态代码块执行初始化工作
类装载工作由ClassLoader及其子类负责,ClassLoader是一个重要的Java运行时系统组件,它负责在运行时查找和装入Class字节码文件,JVM在运行时
会产生三个ClassLoader:根装载器、ExtClassLoader(扩展类转载器)和AppClasssLoader(系统类装载器)。其中,根装载器不是ClassLoader的子类,它
使用C++编写,因此我们在Java中看不到。