【发布时间】:2019-12-05 05:43:57
【问题描述】:
我遇到了一个问题。我正在创建一个 aspectj 类,并且在我的类中我需要访问一个 spring-boot 服务,但是当我尝试使用 @Autowired 或通过构造函数注入它时,我遇到了一个错误:
“无法自动装配。找不到 'UserService' 类型的 bean”
这是我的课:
package com.ingressolive.bar.aop.interceptor;
@Aspect
@Configuration
public class TenantAspect {
private final Logger log = LoggerFactory.getLogger(this.getClass());
private final Environment env;
@Autowired
private UserService userService;
public TenantAspect(Environment env) {
this.env = env;
}
@Before("execution(* com.ingressolive.bar.service.*.*(..))")
public void aroundExecution(JoinPoint pjp) {
log.debug("##################################### Entered here !!!!!!!!!!!!!!!!!!!!!!!!!!");
}
}
有人可以帮我吗?
【问题讨论】:
-
您有任何注册为 bean 的 UserService 实例吗?好像你没有。
-
你为什么在同一个班级同时使用
@Aspect和@Configuration?反正报错信息很具体。 -
如果你删除方面部分并使类好旧的纯 java 你会得到同样的错误吗?
-
@DrPhil 关于配置我认为这样是正确的。 UserService 是一个bean,我通过注释自动装配在代码的其他地方使用它。当我删除这两个注释时,没有更多的错误。
标签: java spring-boot aspect