当前位置: 首页 > 知识库问答 >
问题:

java的Springboot的AOP。伊奥。打印流

年文柏
2023-03-14

构建了一个简单的springboot应用程序,包括一些方面的检查架构等。

我试着捕捉系统的每一个呼叫。出来println()给出使用警告,这就是我目前发现的:

System.out.println()使用PrintStream,所以我尝试了这个:

@Aspect
@Component
public class CleanCodeAspect {

    @Before("call(void java.io.PrintStream.println(String))")
    public void beforePrintlnCall() {
        System.out.println("About to make call to print Hello World");
   }

}

但没有成功。日志上写着

The pointcutexpression call(void java.io.PrintStream.println(String)) contains unsupported pointcut primitive 'call'

一个类似的方面正在发挥作用,但是执行而不是调用:

@Aspect
@Component
public class BooleanServiceMonitor {

    @Before("execution(* de.fhb..*Service.*(java.lang.Boolean))")
        public void logServiceAccess() {
            System.out.println("You used a method with only one boolean parameter. "
                    + "Refactor it into 2 methods with True, False at the end.");
        }

    }

共有1个答案

陈飞语
2023-03-14

Spring使用代理来应用AOP,Spring只能代理基于Spring的bean。类实现PrintStream通常不是Spring配置的bean。紧随其后的是Spring AOP,它只支持一个子集(如消息所示),它支持(除其他外)执行和特殊的bean切入点。

如果你想使用更多的特性(例如,调用切点),你必须使用完整的AspectJ和加载或编译时编织。

 类似资料:
  • 我正试图让jBehave在我的两个模块的谷歌应用引擎项目中模仿https://github.com/ctesniere/appengine-modules-sample-java.我使用Maven生成了jBehave原型()。我成功地运行了它。 然而,当我手动将更改应用到我的目标项目的pom.xml,并复制由jBehave原型生成的两个java文件时,我无法获得成功的。 我得到以下错误: 我找不到

  • 我在groovy类中有一个Restendpoint,其方法签名如下...... 是一个。在我的post请求中,我传递json。 如果我这样做,我可以看到参数(注意:我知道这是在java样式循环中打印字符串。这不是我想要的)...... 我想要的是一种转换使用groovy读取一个漂亮的Json对象,然后从Json对象读取属性? 谢谢

  • 我正试图为我的应用程序保存和编写一个包含一些数据的XML文件,但当它试图打开该文件时,它给出了一个java。伊奥。FileNotFoundException。 我用来保存XML文件的代码是: 我用来读取文件的代码是: 它给出的逻辑是: 有人知道如何解决这个问题吗?提前谢谢 编辑:整个写代码是:(抱歉,有些名字和注释是荷兰语) 整个读取代码是:

  • 当我在 XMLParser。JAVA } 我的decdeBase64方法: 我想知道如何将从XML解析的图像正确添加到SimpleAdapter。我必须创建自己的适配器吗?

  • 日志 权限处理 异常处理 监控 性能分析 12.1 使用AOP 添加maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> 编写切面代码 确定

  • 本文向大家介绍Java的云打印Lodop,包括了Java的云打印Lodop的使用技巧和注意事项,需要的朋友参考一下 Lodop是一款专业的WEB打印控件,其设计目标是简单易用、功能足够强大,开创WEB打印开发的新局面。 Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可实现复杂的打印任务,尽量减少使用者的知识累赘。控件发布包有3个系统文件组成,全部功能用