我有两个Spring boot和spring mvc项目。我想获得spring mvc项目的服务。 Spring启动项目作为客户端工作。我在spring boot项目的pom.xml中添加了spring mvc项目名称作为依赖项。然后我可以调用spring mvc项目的方法,但它的内部服务没有自动装配。
当我在调试时查看它时,以下服务为null。
@Autowired
PriceResultService priceResultService; --null
@Autowired
PriceFactorService priceFactorService; --null
@Autowired
OptionalExtrasService optionalExtrasService; --null
@Autowired
BaseCommonRulesService baseCommonRulesService; --null
@Autowired
BasePartyTypeRulesService basePartyTypeRulesService; --null
@Autowired
MedicalCommonRulesService medicalCommonRulesService; --null
@Autowired
OptionalExtraRulesService optionalExtraRulesService; --null
@Autowired
CoverLimitRulesService coverLimitRulesService; --null
如何解决,
答案 0 :(得分:2)
您必须添加mvc
模块以扫描类路径。
@SpringBootApplication(scanBasePackageClasses = {YourSpringBootApplication.class, YourMVCClassInRootPackage.class})
public class YourSpringBootApplication {
}
假设您的MVC模块如下:
/com/path/
DummyBean.class
/com/path/child1/
AnotherBean.class
AnotherBeanX.class
AnotherBeanY.class
/com/path/child2
AnotherBean2.class
AnotherBeanZ.class
然后您选择YourMVCClassInRootPackage
为DummyBean
。
如果您的MVC模块如下:
/com/path/child1/
AnotherBean.class
AnotherBeanX.class
AnotherBeanY.class
/com/path/child2
AnotherBean2.class
AnotherBeanZ.class
在最顶层的软件包中没有类,因此您要么在顶层软件包中创建DummyBean.java
(例如/com/path/DummyBean
),要么包括所有AnotherBean
,AnotherBean2
来扫描类路径。 (为每个包选择一个类)