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

    阅读全文
  2. 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 ...

    阅读全文
  3. 从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来 ...

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

    阅读全文
  5. AOP concepts2019-08-12

    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. ...

    阅读全文
  6. 官方文档<<The AspectJTM Programming Guide>>:  https://www.eclipse.org/aspectj/doc/released/progguide/index.html   简介: AspectJ 通过将联接点(join points)的概念叠加到现有的 Java 语义上,并将一些新的程序元素添加到 Java,从而扩展了 Java: 连接点(join points)是程序执行中定义的 ...

    阅读全文
  7. 在spring boot 中使用annotation 配置web.xml中的信息时,不用担心RequestMapping的Url pattern重复,因为在启动 server的时候就会初始化RequestMappingHandlerMapping,会自动检测是否有重复的url mapping. 比如下面的异常就是因为有重复的url mapping: /{version}/hello   org.springframework.beans.factory.BeanCrea ...

    阅读全文
  8. 在 Java 8 之前,接口只能有抽象方法。这些方法的实现必须在单独的类中提供。因此,如果要在接口中添加新方法,则必须在实现同一接口的类中提供其实现代码。为了克服这个问题,Java 8 引入了默认方法(default method)的概念,该方法允许接口具有实现的方法,而不会影响实现接口的类。 // A simple program to Test Interface default // methods in java interface TestInterface { ...

    阅读全文
  9. spring-boot-autoconfigure-2.1.4.release.jar下的spring-autoconfigure-metadata.properties #Thu Apr 04 02:08:30 GMT 2019 org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration.AutoConfigureAfter=org.springframework.b ...

    阅读全文
  10. Spring configuration property的优先级官方说明:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-external-config Externalized Configuration Spring Boot lets you externalize your configuration so that you can ...

    阅读全文
  11. Heroku2019-08-07

    https://www.youtube.com/watch?v=QTOkqzCTGxw https://www.heroku.com/ ...

    阅读全文
  12. Spring中Configuration的使用和理解,转载这篇文章写的挺清晰的文章 https://my.oschina.net/wuweixiang/blog/1837294   从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplication ...

    阅读全文
  13. 一些banner在线生成工具   http://patorjk.com/software/taag/ http://www.network-science.de/ascii/ https://www.degraeve.com/img2txt.php   :'######:::'#######:::'#######:::'######::'##::::'##::::'###::::' ...

    阅读全文
  14. 在使用IDEA开发Spring Boot application时,如果使用Devtools依赖包时,可以配置automake来实现文件修改后自动build,deploy并不手动重启server的情况下测试改动。配置如下: 1) create Spring Boot project with SB V1.3 and add "Devtools" (1*) to dependencies 2) invoke Help->Find Action... and t ...

    阅读全文
  15. 在使用spring boot 来new一个springApplication时会读取classpath中的 META-INF/spring.factories中定义的Spring Factories. 比如ApplicationContextInitializers和ApplicationListeners. 下面是spring-boot-2.1.6.RELEASE.jar中默认的spring.factories # PropertySource Loaders org.spring ...

    阅读全文
  16. 翻看了这本大数据书籍,做个摘要。 本书分为三部分分。 理论篇:重点介绍大数据时代下数据处理的基本理论及相关处理技术,并引入NoSQL数据库; 系统篇:介绍了各种类型NoSQL数据库基本知识; 应用篇:对中外知名企业在利用NoSQL数据库在处理海量数据方面的应用做了阐述。 ​本书对大数据时代面临的挑战,以及NoSQL数据库的基本知识做了清晰的阐述,有助于帮助读者整理思路,了解需求,并更有针对、有选择地深入学习相关知识。 第1章 概论  ...

    阅读全文
  17. Scrum总结2019-07-31

    Scrum不是一个标准化的过程。 但是Scrum框架建立了一套价值观,原则和实践。每个组织可以根据自身情况相结合使用。 Scrum实践有: 三个角色 PO:管理经济效率,梳理产品列表,定义接收标准并验收,正确理解技术债经济,版本层面的经济考量,sprint和PBI的经济考量。 Team:自管理自组织,跨智能的多样化和全面化,T型技能,火枪手态度,沟通广泛,透明沟通,规模适中,专注,有责任感,人员稳定,工作步调可持续。 Scrum Master:教练 ...

    阅读全文
  18. Cynefin框架2019-07-31

    Cynefin框架最早是在1999年由威尔士学者Dave Snowden在知识管理与组织战略中提出的. 这个框架用于描述问题, 环境与系统., 说明什么环境, 适合使用什么解决方案. Cynefin框架有5个域:简单(simple)域,复杂(complex)域,繁杂(complicated)域,混乱(chaotic)域,无序(disorder)域。 领导者可以根据分析环境属于哪种域,做出正确的决策。 ...

    阅读全文
  19. Spring的application.properties (application.yml)的属性值参考 https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html  # =================================================================== # COMMON SP ...

    阅读全文
  20. Apache Shiro是一个应用程序安全框架(Application security framework). 提供了4个安全支持: authentication, authorization, enterprise session management and cryptography。 Shiro产生的背景http://shiro.apache.org/what-is-shiro.html。 JAAS提供了authentication, authorization. ...

    阅读全文