如何在项目A中创建的@autowire dao类到项目B中的其余控制器类

时间:2017-06-30 01:10:05

标签: spring rest maven

我使用dao类,模型和rest控件创建了一个Springboot应用程序。它工作正常。

现在我想在单独的项目中创建休息控制器。

项目A:模型+ dao类 项目B:休息控制器

项目B中的

pom.xml我在依赖

下包含了Project A jar文件

现在我试图将项目A中的dao类自动装入项目B中的restcontroller类。

在其余的控制器类(项目B)中,我使用了@ComponentScan(basePackages =“我的daoclass所在的包”)

但我收到编译错误,说无法解析行daoclass dao的符号;

我是spring和springboot的新手。不确定有什么问题..请帮助我更好地理解

我正在尝试做mvn clean package(项目B)

3 个答案:

答案 0 :(得分:0)

您需要在spring上下文中将类注册为bean,并使用projectB的 applicationContext.xml ,否则projectB无法找到projectA创建的bean。

例如,您应该编写以下 applicationContext.xml

scanBasePackages

您还可以使用注释配置组件扫描:

18. Using the @SpringBootApplication annotation

  • (a)将目标包指定为@SpringBootApplication(scanBasePackages={"name.space.for.projectA"})
    @ComponentScan

  • (b)将目标包指定为@SpringBootApplication @ComponentScan("name.space.for.projectA")

MaskedArrayFutureWarning: In the future the default for ma.maximum.reduce will be axis=0, not the current None, to match np.maximum.reduce. Explicitly pass 0 or None to silence this warning. return self.reduce(a)

答案 1 :(得分:0)

检查您的jar文件是否存在于本地存储库中。

在设置文件中打开本地存储库文件夹

<localRepository>Your Directory</localRepository>

然后检查你的jar文件。

如果文件不存在,请先尝试复制并粘贴。

如果项目B没问题,那么请检查您的maven设置文件。

答案 2 :(得分:0)

Maven将始终在您的本地存储库(通常位于~/.m2/repository中)查找相关的jar。

因此你必须执行:

mvn clean install
projectA中的

。这会将projectA-version.jar复制到本地存储库中,projectB将能够在其中找到它。