首页下载资源后端Spring Boot 实现 AOP 动态热插拔功能 教程配套源码

ZIPSpring Boot 实现 AOP 动态热插拔功能 教程配套源码

lhmyy52112581.38KB需要积分:1

资源文件列表:

dynamic-aop-project.zip 大约有72个文件
  1. dynamic-aop-project/
  2. __MACOSX/._dynamic-aop-project 176B
  3. dynamic-aop-project/.DS_Store 6KB
  4. __MACOSX/dynamic-aop-project/._.DS_Store 176B
  5. dynamic-aop-project/pom.xml 2.56KB
  6. __MACOSX/dynamic-aop-project/._pom.xml 176B
  7. dynamic-aop-project/.gitignore 395B
  8. __MACOSX/dynamic-aop-project/._.gitignore 176B
  9. dynamic-aop-project/.mvn/
  10. __MACOSX/dynamic-aop-project/._.mvn 176B
  11. dynamic-aop-project/.idea/
  12. __MACOSX/dynamic-aop-project/._.idea 176B
  13. dynamic-aop-project/src/
  14. __MACOSX/dynamic-aop-project/._src 176B
  15. dynamic-aop-project/.mvn/wrapper/
  16. __MACOSX/dynamic-aop-project/.mvn/._wrapper 176B
  17. dynamic-aop-project/.idea/encodings.xml 186B
  18. __MACOSX/dynamic-aop-project/.idea/._encodings.xml 176B
  19. dynamic-aop-project/.idea/uiDesigner.xml 8.59KB
  20. __MACOSX/dynamic-aop-project/.idea/._uiDesigner.xml 176B
  21. dynamic-aop-project/.idea/jarRepositories.xml 1.27KB
  22. dynamic-aop-project/.idea/inspectionProfiles/
  23. __MACOSX/dynamic-aop-project/.idea/._inspectionProfiles 176B
  24. dynamic-aop-project/.idea/.gitignore 176B
  25. __MACOSX/dynamic-aop-project/.idea/._.gitignore 176B
  26. dynamic-aop-project/.idea/workspace.xml 8.03KB
  27. dynamic-aop-project/.idea/misc.xml 534B
  28. dynamic-aop-project/.idea/compiler.xml 1.3KB
  29. dynamic-aop-project/src/test/
  30. __MACOSX/dynamic-aop-project/src/._test 176B
  31. dynamic-aop-project/src/main/
  32. __MACOSX/dynamic-aop-project/src/._main 176B
  33. dynamic-aop-project/.mvn/wrapper/maven-wrapper.properties 1019B
  34. __MACOSX/dynamic-aop-project/.mvn/wrapper/._maven-wrapper.properties 176B
  35. dynamic-aop-project/.mvn/wrapper/maven-wrapper.jar 58.52KB
  36. __MACOSX/dynamic-aop-project/.mvn/wrapper/._maven-wrapper.jar 176B
  37. dynamic-aop-project/.idea/inspectionProfiles/Project_Default.xml 7.68KB
  38. __MACOSX/dynamic-aop-project/.idea/inspectionProfiles/._Project_Default.xml 176B
  39. dynamic-aop-project/src/test/java/
  40. __MACOSX/dynamic-aop-project/src/test/._java 176B
  41. dynamic-aop-project/src/main/resources/
  42. __MACOSX/dynamic-aop-project/src/main/._resources 176B
  43. dynamic-aop-project/src/main/java/
  44. __MACOSX/dynamic-aop-project/src/main/._java 176B
  45. dynamic-aop-project/src/test/java/com/
  46. __MACOSX/dynamic-aop-project/src/test/java/._com 176B
  47. dynamic-aop-project/src/main/resources/static/
  48. __MACOSX/dynamic-aop-project/src/main/resources/._static 176B
  49. dynamic-aop-project/src/main/resources/templates/
  50. __MACOSX/dynamic-aop-project/src/main/resources/._templates 176B
  51. dynamic-aop-project/src/main/resources/application.yml 41B
  52. __MACOSX/dynamic-aop-project/src/main/resources/._application.yml 176B
  53. dynamic-aop-project/src/main/java/com/
  54. __MACOSX/dynamic-aop-project/src/main/java/._com 176B
  55. dynamic-aop-project/src/test/java/com/toher/
  56. __MACOSX/dynamic-aop-project/src/test/java/com/._toher 176B
  57. dynamic-aop-project/src/main/java/com/toher/
  58. __MACOSX/dynamic-aop-project/src/main/java/com/._toher 176B
  59. dynamic-aop-project/src/test/java/com/toher/project/
  60. __MACOSX/dynamic-aop-project/src/test/java/com/toher/._project 176B
  61. dynamic-aop-project/src/main/java/com/toher/project/
  62. __MACOSX/dynamic-aop-project/src/main/java/com/toher/._project 176B
  63. dynamic-aop-project/src/test/java/com/toher/project/ApplicationTests.java 223B
  64. __MACOSX/dynamic-aop-project/src/test/java/com/toher/project/._ApplicationTests.java 176B
  65. dynamic-aop-project/src/main/java/com/toher/project/dynamic/
  66. dynamic-aop-project/src/main/java/com/toher/project/Application.java 308B
  67. __MACOSX/dynamic-aop-project/src/main/java/com/toher/project/._Application.java 176B
  68. dynamic-aop-project/src/main/java/com/toher/project/dynamic/UserService.java 330B
  69. dynamic-aop-project/src/main/java/com/toher/project/dynamic/AspectConfig.java 433B
  70. dynamic-aop-project/src/main/java/com/toher/project/dynamic/ConfigController.java 913B
  71. dynamic-aop-project/src/main/java/com/toher/project/dynamic/Loggable.java 363B
  72. dynamic-aop-project/src/main/java/com/toher/project/dynamic/LoggingAspect.java 924B

资源介绍:

该源码对应个人博客【Spring Boot 实现 AOP 动态热插拔功能】配套教程,地址:https://blog.csdn.net/lhmyy521125/article/details/140106162 小伙伴可以自行下载学习!不需要积分!不需要积分!不需要积分! 如果相关资源对您有所帮助,希望一键三连给博主一点点鼓励,后续更新更多教程和对应免费源码,如果您有任何疑问或建议,请随时留言讨论! 前言 AOP(面向切面编程)是一种强大的编程范式,可以用于日志记录、性能监控、安全检查等跨越多个模块的通用功能。实现 AOP 的动态热插拔可以让我们在不重启应用的情况下启用或禁用特定的切面,提高系统的灵活性和可维护性。 我们以一个例子来说明一下为什么需要 AOP 动态热插拔:我们系统有一个 AOP 切面,它负责了记录用户传递参数、执行时间、接口返回结果,默认是不开启的,现在因为某些原因需要检测某个接口参数接收情况 + 耗时 + 返回数据,那么我们就需要在不重启应用的情况下,动态开启关闭AOP切面来达到我们想要的效果。
package com.toher.project.dynamic; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Aspect @Component public class LoggingAspect { @Autowired private AspectConfig aspectConfig; @Around("@annotation(com.toher.project.dynamic.Loggable)") public Object logExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable { if (!aspectConfig.isLoggingEnabled()) { return joinPoint.proceed(); } long start = System.currentTimeMillis(); Object proceed = joinPoint.proceed(); long executionTime = System.currentTimeMillis() - start; System.out.println(joinPoint.getSignature() + " 方法执行时间 " + executionTime + "ms"); return proceed; } }
100+评论
captcha