1. JDK代理要求被代理的类必须实现接口,有很强的局限性。而CGLIB动态代理则没有此类强制性要求。简单的说,CGLIB会让生成的代理类继承被代理类,并在代理类中对代理方法进行强化处理(前置处理、后置处理等)。在CGLIB底层,其实是借助了ASM这个非常强大的Java字节码生成框架。 使用CGLib实现动态代理,完全不受代理类必须实现接口的限制,而且CGLib底层采用ASM字节码生成框架,使用字节码技术生成代理类,比使用Java反射效率要高。唯一需要注意的是,CGLib不能对声明为final的 ...

    阅读全文
  2. 从Spring-core-5.1.9.RELEASE.jar中分析Spring的IoC和AOP技术实现依赖。 从下图中可以看到有三个第三方lib被repack到spring-core中来,分别是asm, cglib,和 objenesis. asm主要用在支持aspectJ的AOP,cglib主要用来实现的类的动态代理,从而进一步实现AOP,objenesis用来类的实例化。   IoC的实现主要靠java的反射机制来实现,结合了Annotation和XML来 ...

    阅读全文
  3. Besides ApplicationContextAware and BeanNameAware (discussed earlier), Spring offers a wide range of Aware callback interfaces that let beans indicate to the container that they require a certain infrastructure de ...

    阅读全文
  4. MvcUriComponentsBuilder 和 ControllerMethodInvocationInterceptor的解读   ControllerMethodInvocationInterceptor实现了CGLIB的MethodInterceptor,所以是CGLIB动态代理的方法拦截器,从命名来看是对Controller的方法做了争强。同时也实现了org.aopalliance.intercept.MethodInterceptor private ...

    阅读全文
  5. Java高新技术——内省(JavaBean)下面这篇文章写的不错,通俗易懂,建议先看下文章中的示例:https://blog.csdn.net/zhongkelee/article/details/52678667 下面是JDK javabean package 文档说明: https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/beans/package-summary.h ...

    阅读全文
  6. 转载自:https://www.ibm.com/developerworks/cn/java/j-lo-jsonlib/index.html 概述 如今大量的 Web 站点应用了 AJAX 技术,通过更少的数据通讯,服务器能够更快的反馈用户请求,再通过 Javascript 的控制,让使用者有了更好的用户体验。JSON 是一种轻量级的数据交换语言,它是 Javascript 的一个子集,又有良好的可读性,经常用于客户端和服务器间的数据交换。因此,在服务器端,常常需要将实体对象(Jav ...

    阅读全文
  7. 深入理解Java类型信息(Class对象)与反射机制 可以读下这篇文章:https://blog.csdn.net/javazejian/article/details/70768369   写的非常清晰。 ...

    阅读全文
  8. <<Java™ in a Nutshell: A Deskop Quick Reference >>   docstore.mik.ua/orelly/java-ent/jnut/index.htm ...

    阅读全文
  9. 本文链接:https://blog.csdn.net/strivezxq/article/details/44560771  把spring 相关类做了下整理,把spring主要涉及的类都整理成类图,方便查看它们之前的关系,也能帮助更好的阅读分析源码. 1. IOC容器 BeanFactory类图: 2.  资源Resource相关类图: 3. 资源加载器ResourceLoader相关类图: 4. spring Bean定义解析器相关: ...

    阅读全文
  10. 下面这篇文章对Controller的方法参数工作原理解释的非常不错,值得参阅。 https://www.cnblogs.com/fangjian0423/p/springMVC-request-param-analysis.html   另外,此处可以配合spring framework的官方文档中的Spring Web MVC->Annotation Controller->Handler Methods中的Method Arguments和Return ...

    阅读全文
  11. 嵌入式Tomcat Web服务器的使用 在运行web工程时,常常要频繁启动tomcat,使用嵌入式tomcat可以减少部分重复操作。 1、下载tomcat5.0.28embed.zip 解压文件夹复制到工程下。   http://archive.apache.org/dist/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28-embed.zip 2、源码实现 import java.io.File; impor ...

    阅读全文
  12. JAVA8的java.util.function包 https://www.cnblogs.com/linzhanfly/p/9686941.html java.util.function.Function的用法 https://www.jianshu.com/p/3c27dfd647f1 https://blog.csdn.net/huo065000/article/details/78964382 java8双冒号用法: https://www.jians ...

    阅读全文
  13. Spring Boot为Spring MVC 提供了 auto-configuration. The auto-configuration adds the following features on top of Spring’s defaults: Inclusion of ContentNegotiatingViewResolver and BeanNameViewResolver beans. Support fo ...

    阅读全文
  14. spring boot存放views的默认路径在哪呢? 写了一个简单Controller的ExceptionHandler,代码如下: 目的是访问/demoexception时估计抛出exception,被controller中定义的exceptionhandler捕获并返回给view error3来显示。 @Controller public class SelfExceptionController { @RequestMapping(&quo ...

    阅读全文
  15. Bcrypt password在线生成器:https://www.browserling.com/tools/bcrypt ...

    阅读全文
  16.   知乎的这篇文章<<在 2016 年学 JavaScript 是一种什么样的体验?>> https://zhuanlan.zhihu.com/p/22782487 注:原文是英文,本文是我翻译的。有人把我翻译的内容原文照抄,放到他自己的专栏,搞得有人问我是不是我抄袭了……请支持我的劳动成果,花了两个小时翻译的,谢谢。转载请注明译者为方应杭。 嘿,我最近接到一个 Web 项目,不过老实说,我这两年没怎么接触 W ...

    阅读全文
  17. UML工具2019-09-06

    plantUML:http://plantuml.com/zh/class-diagram。 PlantUML是一个开源项目,支持快速绘制UML各类图表以及一些非UML图表。 plantText: https://www.planttext.com/ 是一个在线网站,可以用来设计UML以及生成代码。 UML图表有: 时序图 用例图 类图 活动图  组件图 状态图 对象图 部署图  定时图&n ...

    阅读全文
  18.  官方文档: https://docs.oracle.com/javaee/7/api/javax/persistence/ManyToMany.html     参考文档: What is An Association? : https://docs.oracle.com/cd/A97336_01/buslog.102/bc4j/developing_bc_projects/bc_awhatisanassoc.ht ...

    阅读全文
  19. 参考文档: 《通过 docker 搭建自用的 gitlab 服务》https://juejin.im/post/5a4c9ff36fb9a04507700fcc 《使用 Docker 搭建 GitLab》https://juejin.im/post/5cc1df885188252d6c43fd91   本文忽略docker的安装过程。   安装GitLab: docker pull gitlab/gitlab-ce:latest ...

    阅读全文