反射
- 关键词:动态、配置
目的
- java的反射机制就是增加程序的灵活性,避免将程序写死到代码里
原理
- 一个对象的new过程:JVM执行的全过程
Person person = new Person();
- 这个加载方式的缺点
上面的程序是自己new出来的,相当于写死了给JVM跑,如果一个服务器上突然遇到某个请求要用到某个类,但是这个类没有加载到JVM,就需要重启服务器,重新编写代码,new一下 - 解决方法:反射
在程序运行时,动态加载一些类;例如实例化一个person对象,使用反射
class.forName("person").newInstance;
代码中的类描述可以写到配置文件中,如果在运行过程中想实例化其他类,只需要修改配置文件中的类描述即可,不需要重新修改代码并重新编译。
应用
spring,配置各种各样的bean时,是以配置文件的形式配置的,你需要用到哪些bean就配哪些,spring容器就会根据你的需求去动态加载,你的程序就能健壮地运行。