个人简介

Echo Blog


江湖无名 安心练剑
  • spring @Scope 注解与 ScopedProxyMode 入门介绍
    背景 今天看到了 @Scope 用来可以指定 spring 的代码模式,比如指定基于动态代理,这个挺不错的。 记录一下,以前学习过,但是没有注意过。 源码 @Scope 注解 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @...
    2023-08-02 00:00:00 | Spring
  • springboot spring 读取配置的几种方式
    背景 想读取一下配置文件,这里整理一下一共几种方式。 Spring Boot 中读取配置文件有以下 5 种方法: 使用 @Value 读取配置文件。 使用 @ConfigurationProperties 读取配置文件。 使用 Environment 读取配置文件。 使用 @PropertySource 读取配...
    2023-08-02 00:00:00 | Spring
  • spring mvc interceptor 两种配置方式:xml 文件和 java 类注解
    SpringMVC 自定义拦截器 简介 Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerInterceptor接口 – preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行处理。如果程序员决定该拦截器对 请求进行拦截处理后还要调用其他的拦截器,或者是业...
    2023-08-02 00:00:00 | Spring
  • spring 如何动态注入 Bean,根据开关动态指定
    业务背景 写了基于 aop 切面的统一组件,因为有些切面的涉及点比较多,有些客户端的写法不够规范。 比如 final,或者用户自定义注解增强之后无法获取。 1)希望用户可以动态指定 aop 等注入类信息 2)希望根据条件,比如是否存在 class 动态配置 动态注册bean的两种api Spring中的bean定义都保存在 BeanDefinitionRegistry 接口中,单...
    2023-08-02 00:00:00 | Spring
  • spring 增强之后无法获取自定义注解属性及解决方案
    场景 为了便于后期代码拓展,在代码中定义了一些注解,统一处理逻辑。 后来有开发同事反应,使用了一下 @Transactional 注解之后,注解直接无效了。 问题演示 为了演示整个过程,我们从最简单的简化版本开始。 注解定义 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interfac...
    2023-08-02 00:00:00 | Spring
  • spring-01-spring 如何直接对一个类进行增强?让其实现新的接口 @DeclareParents
    背景 想对 runnable 这些类进行增强。 @DeclareParents的作用 @DeclareParents注解是spring AOP(切面)功能提供一种组件,它可以在代理目标类上增加新的行为(新增新的方法)。 可能你看到这里会有点蒙,没关系我们看下面的栗子,应该就清楚明白了。 @DeclareParents的应用demo 首先我们先通过一张图简单的理解一下,@Decla...
    2023-08-02 00:00:00 | Spring
  • java 应用性能下降,如何分析定位原因?
    现象 测试在压测环境,发现因为了升级了一下日志包组件,导致性能下降厉害(30%)。 需要分析原因? 思路 代码是否真的存在问题 是否所有的性能都下降? 如果全部下降,则针对升级的部分做代码分析+本地结合 jvisual 分析慢在哪里即可。 发现不是,那么就针对这一个应用具体分析。 这里发现就是特定应用的一个压测变慢了。 QPS 下降初步判断 整体看是压测的 QPS 下降。...
    2023-07-25 00:00:00 | Test
  • 分布式可视化系统报警之人的维度:监控室
    前言 任何一个系统,都不可能是完美的。 如果出问题怎么办?引入大量的监控,然后让人去看。 核心内容 思想:用人,引入另一个维度的东西。 监控视角:汇总、报警、事件待处理等。 定时刷新:一般都是大盘,定时刷新+闪烁+声音 实时数据 计时查询:夜莺的报警查询页面:表格/图形 指定时间范围内 图表:nqe / grafana / DataX CAT 监控 CAT 组件 ...
    2023-07-25 00:00:00 | Trace