问题描述

在使用aop-patterns配置的时候发现Spring监控无效

Druid版本:1.1.22

如果SpringBoot的配置使用的是properties文件,该配置正常。

如果使用yml作为配置文件,则该配置无效。

问题分析

似乎不能以“-”作为分隔符。

使用了ConditionalOnProperty注解,该配置类并不会生效。

解决方案

方法一:重写DruidSpringAopConfiguration

如果我们想要使用yml文件,并且希望该配置生效,我们可以定义自己的配置文件,显示的注册相关的bean对象。

package com.jianggujin.love;import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties;
import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
import org.aopalliance.aop.Advice;
import org.springframework.aop.Advisor;
import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
import org.springframework.aop.support.RegexpMethodPointcutAdvisor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;@Configuration
public class DruidConfiguration{@Beanpublic Advice advice() {return new DruidStatInterceptor();}@Beanpublic Advisor advisor(DruidStatProperties properties) {return new RegexpMethodPointcutAdvisor(properties.getAopPatterns(), advice());}@Beanpublic DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator() {DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator = new DefaultAdvisorAutoProxyCreator();advisorAutoProxyCreator.setProxyTargetClass(true);return advisorAutoProxyCreator;}
}

方法二:直接修改yml中aop-patterns字段为逗号分隔的字符串

修改yml中aop-patterns字段为逗号分隔的字符串,不要使用-符号的数组

运行结果

参考文章

Druid Spring Boot Starter配置aop无效

阿里druid-spring-boot-starter 配置(配置完成后不需要在配置类写)根据阿里官方个人整理

Spring Boot——Druid在application.yml文件中配置【spring.datasource.druid.aop-patterns】无效解决方案相关推荐

  1. 获取application.yml文件中配置参数的两个方法

    application.yml文件内容 第一种(适用于获取少量配置参数): @Value("${man.name}") private String name; 第二种(适用于获取 ...

  2. Spring Boot项目application.yml文件数据库配置密码加密

    在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了 ...

  3. spring boot配置文件【application.yml】常见问题之一,未添加空格

    正确属性与值: (port:空格8000) server:port: 8000 错误属性与值:(port:8000) server:port:8000 spring boot配置文件[applicat ...

  4. maven 打包数据库加密_SpringBoot项目application.yml文件数据库配置密码加密的方法...

    在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了 ...

  5. 获取application.yml配置文件中配置的对象集合

    在之前的工作中遇到这样一个问题, 就是在application.yml配置文件中写一些对象集合的数据(当时不让把数据写在数据库中)然后获取他们, 尝试了很多方式都无果, 最终找到了解决的办法, 特此记 ...

  6. spring boot配置文件:application.yml (yml与properties文件优缺对比)

    现在我们的application.properties文件内容是: [plain]view plain copy server.port=8090 server.session-timeout=30 ...

  7. spring找不到application.yml文件

    程序启动后报错:找不到某个配置项,但这个配置实际是写在application.yml中的. 解决方法: 1.打开运行配置的对话框,选择edit configuration 2.将工作目录改为appli ...

  8. Spring Boot 内置Tomcat——IntelliJ IDEA中配置模块目录设为文档根目录(DocumentRoot)解决方案

    源码分析 org.springframework.boot.web.servlet.server.DocumentRoot /*** Returns the absolute document roo ...

  9. yml文件中配置时间类型转换方式

    属性上增加: @JsonFormat(timezone = "GMT+8",pattern="yyyy-MM-dd")或者@JsonFormat(shape = ...

最新文章

  1. CVPR 2019 | 腾讯AI Lab解读六大前沿方向及33篇入选论文
  2. spock测试_用于混合Spock 1.x和JUnit 5测试的Maven项目设置
  3. AFNnetworking快速教程,官方入门教程译
  4. 校园信息发布平台网站源码
  5. 数据挖掘案例(2):用户画像
  6. iOS定位-核心定位框架CLLocation
  7. 微信 语音识别_微信语音识别_微信语音识别api - 云+社区 - 腾讯云
  8. 移动营业执照识别SDK
  9. ubuntu 18.04+GTX30系列显卡+TensorFlow-gpu1.15
  10. 《沙漠自然教育项目全纪实》发布 圣牧有机让绿色的种子种进更多孩子心里
  11. facade设计模式
  12. 【IO】IO设计模式:TPR模式,Reactor模式、Proactor模式
  13. 怎么样才能学好java_论新手该如何学习java?
  14. 《人性的弱点》第二章 获取喜爱的十二大技巧:读后感
  15. UIView 的部分圆角的设定
  16. 最新版Paypal取消到期自动续费(循环付款)教程
  17. 解决grafana 加载速度慢问题
  18. 【史上最坑爹的游戏】002 关卡选择画面的实现
  19. 今日科技联播:阿里倡导成立“罗汉堂” 6名诺贝尔奖得主加入
  20. 高光谱成像 Hyperspectral Imaging

热门文章

  1. 应用程序窗口hwnd初始化_Golang OpenGL 跨平台图形程序开发(2)你好,窗口
  2. android r文件错误,Android R文件丢失异常原因汇总
  3. java groovy 动态计算_计算Java / Groovy中的经过时间
  4. python代码300行程序_Python:游戏:300行代码实现俄罗斯方块
  5. 清华大学计算机组成原理视频百度云,计算机组成原理第48讲:
  6. python语言通过字典实现映射关系_mpython3丨字典的使用介绍
  7. axure日期选择器控件_JavaFX 控件 - 输入 (Control - Inputs)
  8. long 雪花算法_海量数据分库分表方案(一)算法方案
  9. 六十二、数据结构栈和队列的相互实现
  10. 二十七、Node.js搭建第一个Express应用框架