发表于: 2017-08-26 00:04:01
1 1096
今天完成的:
后端页面接口测完,按代码规范改了接口
收获:
1.jdk动态代理
此时代理对象和目标对象实现了相同的接口,目标对象作为代理对象的一个属性,具体接口实现中,可以在调用目标对象相应方法前后加上其他业务处理逻辑。
代理模式在实际使用时需要指定具体的目标对象,如果为每个类都添加一个代理类的话,会导致类很多,同时如果不知道具体类的话,怎样实现代理模式呢?这就引出动态代理。
JDK动态代理只能针对实现了接口的类生成代理。
2.cglib动态代理
CGLIB(CODE GENERLIZE LIBRARY)代理是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的所有方法,所以该类或方法不能声明称final的。
如果目标对象没有实现接口,则默认会采用CGLIB代理;
如果目标对象实现了接口,可以强制使用CGLIB实现代理
原来不仅仅是mybatis接口编程、aop,各种拦截器,甚至很多分布式框架都是基于动态代理实现的。
比如现在有Java接口,这个接口的实现部署在其它服务器上,在编写客户端代码的时候,没办法直接调用接口方法,因为接口是不能直接生成对象的,这个时候就可以考虑代理模式(动态代理)了,通过Proxy.newProxyInstance代理一个该接口对应的InvocationHandler对象,然后在InvocationHandler的invoke方法内封装通讯细节就可以了。具体的应用,最经典的当然是Java标准库的RMI。
3.改了一堆bug,有个很重要的原因是数据库里的数据瞎写的,不符合格式,前端拿过去不对。惨痛教训。
4.tomcat竟然可以这样部署,不用脚本也不要手动粘贴,太方便了
问题:
无
计划:
明天测前台页面接口
进度:
延期大概下月初demo
评论