在 Java 8 之前,接口只能有抽象方法。这些方法的实现必须在单独的类中提供。因此,如果要在接口中添加新方法,则必须在实现同一接口的类中提供其实现代码。为了克服这个问题,Java 8 引入了默认方法(default method)的概念,该方法允许接口具有实现的方法,而不会影响实现接口的类。 // A simple program to Test Interface default // methods in java interface TestInterface { ...
阅读全文在spring boot 中使用annotation 配置web.xml中的信息时,不用担心RequestMapping的Url pattern重复,因为在启动 server的时候就会初始化RequestMappingHandlerMapping,会自动检测是否有重复的url mapping. 比如下面的异常就是因为有重复的url mapping: /{version}/hello org.springframework.beans.factory.BeanCrea ...
阅读全文官方文档<<The AspectJTM Programming Guide>>: https://www.eclipse.org/aspectj/doc/released/progguide/index.html 简介: AspectJ 通过将联接点(join points)的概念叠加到现有的 Java 语义上,并将一些新的程序元素添加到 Java,从而扩展了 Java: 连接点(join points)是程序执行中定义的 ...
阅读全文Let us begin by defining some central AOP concepts and terminology. These terms are not Spring-specific... unfortunately, AOP terminology is not particularly intuitive; however, it would be even more confusing if Spring used its own terminology. ...
阅读全文JDK代理要求被代理的类必须实现接口,有很强的局限性。而CGLIB动态代理则没有此类强制性要求。简单的说,CGLIB会让生成的代理类继承被代理类,并在代理类中对代理方法进行强化处理(前置处理、后置处理等)。在CGLIB底层,其实是借助了ASM这个非常强大的Java字节码生成框架。 使用CGLib实现动态代理,完全不受代理类必须实现接口的限制,而且CGLib底层采用ASM字节码生成框架,使用字节码技术生成代理类,比使用Java反射效率要高。唯一需要注意的是,CGLib不能对声明为final的 ...
阅读全文从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来 ...
阅读全文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 ...
阅读全文MvcUriComponentsBuilder 和 ControllerMethodInvocationInterceptor的解读 ControllerMethodInvocationInterceptor实现了CGLIB的MethodInterceptor,所以是CGLIB动态代理的方法拦截器,从命名来看是对Controller的方法做了争强。同时也实现了org.aopalliance.intercept.MethodInterceptor private ...
阅读全文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 ...
阅读全文转载自:https://www.ibm.com/developerworks/cn/java/j-lo-jsonlib/index.html 概述 如今大量的 Web 站点应用了 AJAX 技术,通过更少的数据通讯,服务器能够更快的反馈用户请求,再通过 Javascript 的控制,让使用者有了更好的用户体验。JSON 是一种轻量级的数据交换语言,它是 Javascript 的一个子集,又有良好的可读性,经常用于客户端和服务器间的数据交换。因此,在服务器端,常常需要将实体对象(Jav ...
阅读全文深入理解Java类型信息(Class对象)与反射机制 可以读下这篇文章:https://blog.csdn.net/javazejian/article/details/70768369 写的非常清晰。 ...
阅读全文<<Java™ in a Nutshell: A Deskop Quick Reference >> docstore.mik.ua/orelly/java-ent/jnut/index.htm ...
阅读全文本文链接:https://blog.csdn.net/strivezxq/article/details/44560771 把spring 相关类做了下整理,把spring主要涉及的类都整理成类图,方便查看它们之前的关系,也能帮助更好的阅读分析源码. 1. IOC容器 BeanFactory类图: 2. 资源Resource相关类图: 3. 资源加载器ResourceLoader相关类图: 4. spring Bean定义解析器相关: ...
阅读全文下面这篇文章对Controller的方法参数工作原理解释的非常不错,值得参阅。 https://www.cnblogs.com/fangjian0423/p/springMVC-request-param-analysis.html 另外,此处可以配合spring framework的官方文档中的Spring Web MVC->Annotation Controller->Handler Methods中的Method Arguments和Return ...
阅读全文嵌入式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 ...
阅读全文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 ...
阅读全文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 ...
阅读全文spring boot存放views的默认路径在哪呢? 写了一个简单Controller的ExceptionHandler,代码如下: 目的是访问/demoexception时估计抛出exception,被controller中定义的exceptionhandler捕获并返回给view error3来显示。 @Controller public class SelfExceptionController { @RequestMapping(&quo ...
阅读全文Bcrypt password在线生成器:https://www.browserling.com/tools/bcrypt ...
阅读全文知乎的这篇文章<<在 2016 年学 JavaScript 是一种什么样的体验?>> https://zhuanlan.zhihu.com/p/22782487 注:原文是英文,本文是我翻译的。有人把我翻译的内容原文照抄,放到他自己的专栏,搞得有人问我是不是我抄袭了……请支持我的劳动成果,花了两个小时翻译的,谢谢。转载请注明译者为方应杭。 嘿,我最近接到一个 Web 项目,不过老实说,我这两年没怎么接触 W ...
阅读全文