gpt4 book ai didi

spring @Aspect 不注入(inject)依赖项

转载 作者:行者123 更新时间:2023-12-05 08:44:37 25 4
gpt4 key购买 nike

我正在使用 maven、spring 和 aspectj 进行编译时编织

我的 aspectj 顾问看起来像这样

@Aspect
public class LoggingInterceptor {
private LogManager logManager;
public void setLogManager(LogManager logManager) {
this.logManager = logManager;
}
.....
}

我的 applicationContext.xml 看起来像这样

<!--configures the AspectJ aspect and indicates which Spring context should be used when giving advice-->
<context:spring-configured />

<aop:aspectj-autoproxy/>

<!--<context:component-scan base-package="com.reverb" />-->

<bean id="loggingInterceptor" class="com.myapp.interceptor.LoggingInterceptor">
<property name="logManager" ref="logManager" />
</bean>

logManager 始终为 null....

最佳答案

我没看到你的 logManager在任何地方定义。即使是,@Aspect s 不会自动符合注入(inject)条件。事实上,你有 2 个对象——一个是 LoggingInterceptor 类型的 bean。 ,另一个是切面,它实际处理 AOP。但是切面不是 bean。

为了完成这项工作,您需要定义 factory-method="aspectOf"为你的 <bean> . See here了解更多信息。

关于spring @Aspect 不注入(inject)依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4785689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com