类的关系从强到弱
为设计可复用的模块:我们会把可类的关系做区分
继承,实现,依赖
其中依赖关系还可从强到弱细分为:
组合>聚合>关联>依赖>
类的注入方式
构造方法注入
getter,setter方法注入
直接变量赋值注入
声明成员变量方式注入
使命
简化开发
面向bean编程(bop)
ioc容器的实现方式有di(依赖注入)
代理模式的原理
-
拿到代理对象的应用,然后获取它的接口
-
jdk代理重新生成一个类,同时实现我们给的代理对象所实现的接口
-
把被代理对象的引用也拿到
-
从新动态生成一个class字节码
-
然后编译
第一种:再Proxy.newInstanceProxy调用之前设置saveGeneratedFiles的属性为true System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles","true"); 第二种
byte[] data= ProxyGenerator.generateProxyClass("$Proxy0",new Class[]{Person.class});
File file=new File("E:\\$Proxy0.class");
FileOutputStream fileOutputStream=new FileOutputStream(file);
fileOutputStream.write(data);
fileOutputStream.close();