关于 @Autowired 的问题
各位大神好!我的maven项目有两个模块 A模块 与 B模块 ,B模块在pom中引入了A模块依赖
A模块中
package com.mytest.base.common;.....代码其他省略.....
//(CommonApi是一个接口,位于A模块中,但是 CommonApi 的实现是在 B模块中)
@Autowired
private CommonApi commonApi;
public void handleLog() {
commonApi.getSysConfig();
}
B模块中
package com.mytest.web;import com.mytest.base.common.CommonApi;
@Service
public class CommonApiImpl implements CommonApi {
@Override
public void getSysConfig() {
//...
}
}
可是启动项目报错:无法找到 CommonApi,但是我看别人的项目中这样是可以的呀,为什么我亲自实验后不行呢。
启动类上也加了注解:
@ComponentScan(basePackages = {"com.mytest"})
还请大神指点一下~
补充:
我发现如果CommonApi 的实现类移动到A模块就可以了,但是我需要让实现类在B模块。。。
回答:
启动类要在b模块
回答:
ComponentScan这就不加了,启动类丢到com.mytes或者com下面,解决一切问题
回答:
@ComponentScan(basePackages = {"com.mytest.**"})
以上是 关于 @Autowired 的问题 的全部内容, 来源链接: utcz.com/p/944325.html