Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @未从jar文件注入服务_Java_Spring_Spring Boot - Fatal编程技术网

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{

我有一个运行大型企业应用程序的场景

  • 在这里,我有一个没有@SpringBootApplication的应用程序,称为XYZ应用程序。该应用程序没有在ABC应用程序中自动连接,ABC应用程序有@SpringBootApplication,我在Intellij中运行该应用程序。我如何确保在运行该应用程序时创建bean
  • 注意:我将XYZ应用程序的JAR作为渐变构建。XYZ api和XYZ impl有单独的JAR

    // 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”)
    )上指定了限定符。也许春天正在寻找一种错误的豆子。也许添加限定符可以解决您的问题。(更多关于)
  • 这两个类位于两个不同的包中。您没有共享此信息,但如果包位置不同,您需要告诉spring应用程序在哪里查找它。您可以按照此了解有关此问题的更多信息

  • 我认为您应该更新@SpingBootApplication注释参数,以包括扫描服务时要查看的类/包,因为上面提到的不是您的应用程序。您是指ComponentScan。我试图让错误消失,我得到的错误是@resourcebean没有作为依赖项注入。我认为这解决了您的问题