1. web系列常见的拦路虎方式总结

    1.

    2022/07/06 拦路虎

  2. AOP

    2022/07/05 拦路虎

  3. 拦截器

    1. 什么是

    2022/07/04 拦路虎

  4. 过滤器拦截器

    1. 什么是

    2022/07/03 拦路虎

  5. 系统内置钩子

    1.

    2022/07/02 拦路虎

  6. java中常见的拦路虎

    1. 什么叫做拦路虎? 当你开着车疾驰在大道上,突然从路边窜出来一伙收费的,这伙收费的就是拦路虎。 同样,当你从停车场开车出来,收费杆就是拦路虎。 所以说,拦路虎就是在你执行你行为的过程中对你进行拦截,执行这种拦截动作的操作者就是拦路虎。 2. 应用程序中的拦路虎 当你访问一个页面,请求从客户端传入到后台,在请求执行的过程中,我们需要对请求在某个阶段进行拦截,这种行为就是拦路虎。 所以,我们可以认为,凡是对目标请求进行半路拦截的操作者都是拦路虎。

    2022/07/01 拦路虎

  7. spring源码编码哲学

    1. 迭代器模式 Spring 框架的源码设计中,确实广泛应用了迭代器模式(Iterator)、do-while 循环以及复杂的逻辑控制结构。这种设计思路背后的哲学主要体现在以下几个方面:

    2022/06/30 springboot专题

  8. 什么是ThreadLocal?

    1. 使用ThreadLocal的源码参考 spring源码中如下类的设计使用了ThreadLocal: org.springframework.web.context.request.RequestContextHolder org.springframework.transaction.support.TransactionSynchronizationManager org.springframework.context.i18n.LocaleContextHolder pageHelper源码中设计如下: com.github.pagehelper.page.PageMethod mybatisplus动态数据源中的设计: ```java com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder

    2022/06/06 springboot专题

  9. springboot加载配置项的源码解析以及加载顺序和配置项的优先级

    1. springboot加载外部配置项的优先级 上一篇文章都是在介绍springboot如何加载外部配置项,即如何从外部配置文件中读取指定的配置项。 当然,springboot中负责维护各种属性配置的核心对象是Environment。而且,这个对象中被注册进去的各个属性配置来源,并不仅仅局限于当前classpath下的配置文件。 具体来说,它还可以从环境变量中加载属性配置、从启动参数中加载属性配置、从远程配置中心中加载属性配置等。 还可以从自定义的PropertySource中加载属性配置。

    2022/06/03 springboot专题

  10. springboot如何快速读取配置项?

    1. springboot工程如何读取配置文件的配置项到实体对象中呢? springboot工程一般都会默认有application.yml或者application.properties文件,我们会把整个工程中所用到的一些配置项以“key-value”的形式配置在这些配置文件中。 但是在项目启动后,如何读取这些配置文件中的指定配置项呢? 当然,可以自己编写解析类专门来解析这些文件,然后挨个读取其中的key-value。 但是springboot本身有更简洁的方式,它底层通过钩子接口实现的拦截器,会在容器启动时检查某些注解,然后在生成这些注解标注的bean对象时,通过反射将配置文件中的key-value值填充到这些bean属性中。 具体来说,有4种方式: (1)直接在需要使用的类中注入Environment对象。 (2)在要使用的类的属性字段上使用@Value注解来标注需要获取的配置文件中的key。 (3)专门定义一个配置类,标注@ConfigurationProperties注解,这样可以统一将配置文件中的所有配置项统一映射到同一个配置类中。 (4)专门定义一个配置类,标注@PropertySource注解,这个注解可以指定目标配置文件,即如果我们要读取的配置文件不是springboot默认的application.yml或者application.properties时,可以通过这个注解来获取配置项。这个注解需要结合@Value或者@ConfigurationProperties注解一起使用,你可以这样理解,这个注解只是用来指定我们自定义的外部配置文件的而已。

    2022/06/02 springboot专题