Java @未从jar文件注入服务
我有一个运行大型企业应用程序的场景Java @未从jar文件注入服务,java,spring,spring-boot,Java,Spring,Spring Boot,我有一个运行大型企业应用程序的场景 在这里,我有一个没有@SpringBootApplication的应用程序,称为XYZ应用程序。该应用程序没有在ABC应用程序中自动连接,ABC应用程序有@SpringBootApplication,我在Intellij中运行该应用程序。我如何确保在运行该应用程序时创建bean 注意:我将XYZ应用程序的JAR作为渐变构建。XYZ api和XYZ impl有单独的JAR // XYZ-api public interface LocationService{
// XYZ-api
public interface LocationService{
}
//XYZ-impl
@Service("locationServiceImpl")
public class LocationServiceImpl implements LocationService{
@Resource
CountryDAO countryDAO;
}
//PQR (Some other jar file)
@Component
public class LocaleImpl implements Locale{
@Autowired
public LocationService locationService;
}
我得到的错误是
“嵌套异常为org.springframework.beans.factory.unsatifiedpendencyException:创建名为'localeImpl'的bean时出错:通过字段'locationService'表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:没有可用的'locationService'类型的符合条件的bean:在至少1个符合autowire候选项资格的bean。依赖项批注:{@org.springframework.beans.factory.annotation.Autowired(required=true)}”
此外,我还尝试为XYZ应用程序包含包,它确实解决了问题,但@Resource CountryDAO bean没有被注入。请提供帮助。基于您共享的错误的问题是Spring无法找到bean
LocationService
。原因可能有两个:
LocationServiceImpl
(@Service(“LocationServiceImpl”)
)上指定了限定符。也许春天正在寻找一种错误的豆子。也许添加限定符可以解决您的问题。(更多关于)我认为您应该更新@SpingBootApplication注释参数,以包括扫描服务时要查看的类/包,因为上面提到的不是您的应用程序。您是指ComponentScan。我试图让错误消失,我得到的错误是@resourcebean没有作为依赖项注入。我认为这解决了您的问题