0

私の側面では次のことがあります。実行パターンが原因のようです。誰かが次のアドバイスで何が悪いのかを見つけるのを手伝ってくれることを願っています。

@Around(value = "execution(* com.ss.psystem..*.*(..))")
        public final Object logAround(final ProceedingJoinPoint joinPoint)
                throws Throwable {
            Signature signature = joinPoint.getSignature();
            LOGGER.trace("[{}][{}], Entering method...",
                    signature.getDeclaringTypeName(), signature.getName());
            LOGGER.trace("arguments: {}", Arrays.toString(joinPoint.getArgs()));

            Object result = joinPoint.proceed();

            LOGGER.trace("[{}][{}], Exit the method.",
                    signature.getDeclaringTypeName(), signature.getName());
            LOGGER.trace("returned value: [{}]", result);

            return result;
        }

エラー:クラスcom.ss.psystem.conf.PaymentSystemTestContextで定義された「paymentService」という名前のBeanの作成中にエラーが発生しました:一致するファクトリメソッドが見つかりません:ファクトリBean「paymentSystemTestContext」; ファクトリメソッド'paymentService()'。指定された名前のメソッドが存在し、静的でないことを確認してください。

4

2 に答える 2

1

Springポイントカット パターンの問題ではなく、これは Beanの 1 つが定義されている方法にエラーがあるようです。ほとんどの場合、Bean は次のように定義されています。

<bean class="com.ss.psystem.conf.PaymentSystemTestContext" factory-method="paymentService" />

メソッドpaymentServiceが本当にであることを確認してくださいstatic

于 2013-03-05T00:30:10.187 に答える
0

私は問題を発見しました。実際には問題はポイントカットなどではなく、Bean の 1 つが不適切に自動配線されたため、問題が発生しました。それは私の最後に修正され、ログを見ることができます。

問題をご覧いただきありがとうございます。

于 2013-03-05T02:02:50.143 に答える