當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Boot——Druid在application.yml文件中配置【spring.datasource.druid.aop-patterns】无效解决方案
生活随笔
收集整理的這篇文章主要介紹了
Spring Boot——Druid在application.yml文件中配置【spring.datasource.druid.aop-patterns】无效解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述
在使用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】无效解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot——基于AOP的H
- 下一篇: 《移动应用开发》作业——JavaScri