302表示重定向。
java的所有框架都是通过反射来实现的。
反射能做一些硬编码都做不了的活。
案例:
package reflect; import java.lang.reflect.Method; public class ReflectDemo7 { public static void main(String[] args) throws Exception { Class cls = Class.forName("reflect.Person"); Method method = cls.getDeclaredMethod("dosome"); method.setAccessible(true); Object p = cls.newInstance(); method.invoke(p); } }
其中Person的dosome是私有方法
运行结果:
这是违背了java的封装特性。
spring,springmvc底层都是用反射实现的。
紧耦合:组件和组件之间是紧密关联的关系。例如:手机和电池一体化的现象称为紧耦合。
松耦合:组件和组件之间不是紧密关联的关系,可以将组件进行重新组合,可以进行组件替换。
解耦:将组件关系从 紧耦合改变成松耦合,称为解耦。
利用反射实现了松耦合。
利用反射API可以实现松耦合关系。
反射可以使我们的程序解耦。
反射API可以动态解析注解。
注解就是在方法前面加一个@。