LIXI.FUN
0%

快速 识别字节流是否是程序能够处理的,能处理才进行后面的 耗时 业务操作,如果不能处理,尽快执行失败,断开连接等操作。

主要关注一点,@Configruation 注解中的 proxyBeanMethods 属性默认为 true,也就是说在此 Config 类中调用被 @Bean 注解的方法,每次返回的都是同一个 bean 实例。

@Component 则没有这种特性。

详情可以参考 spring-configuration-bean-annotation-test 中的测试代码,自己运行下。

以下内容搭配 SpringAopDebug 食用更佳

基础

Spring AOP 的底层就是通过使用 JDK 或者 CGLib 动态代理来实现为目标 Bean 织入横切逻辑的。

JDK 的动态代理,允许开发者在运行期创建接口的代理实例,限制也是只能为接口创建代理实例。

CGLib 采用字节码技术,可以为一个类创建子类,在子类中采用方法拦截所有父类的调用来织入横切逻辑。

  • Spring 默认为有接口实现类用 JDK 代理,无接口实现的用 CGLib 代理
  • SpringBoot 2.x 默认为全部使用 CGLib 代理
阅读全文 »

在 clone Spring 的代码的时候出现的问题,Filename too long 解决方法如下:

1
git config --system core.longpaths true