关于 @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

回到顶部