当前位置: 首页 > 知识库问答 >
问题:

@服务没有从jar文件中注入

桂德义
2023-03-14

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

  1. 我有一个没有@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。”e、 依赖项注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)}”

我还尝试过为XYZ应用程序添加包,它确实解决了这个问题,但没有注入@Resource CountryDAO bean。请帮忙。

共有1个答案

蒋茂
2023-03-14

基于您共享的错误,问题在于Spring无法找到beanLocationService。原因可能有两个:

  1. 您在LocationServiceImpl@Service(“LocationServiceImpl”))上指定了一个限定符。也许Spring正在寻找一种错误的豆子。也许添加限定符可以解决您的问题。(更多关于限定符的信息)
 类似资料:
  • 问题内容: 我已经定义了这样的服务: 我希望仅为新用户实例化我的服务(即当user.createdAt>今天)。 因此,如果用户是老用户,有没有办法有条件地注入我的服务或至少销毁我的服务而没有任何副作用。 问题答案: 如果需要,您可以使用该服务动态获取可注射对象: 这是完整运行的演示:http : //jsbin.com/bemakemaja/1/edit 和文档:https : //docs.a

  • 问题内容: 如何编写一个从先前编译的JAR中删除文件的ant任务? 假设我的JAR文件为: …并且我想要一个没有包的JAR文件版本,我需要使用ant剥离它,以便最终得到一个包含以下内容的JAR: 谢谢! 问题答案: 您是否尝试过使用任务? 例如:

  • 我正在运行jeter分布式测试。我有很多组合要测试,所以创建了属性文件(. properties)来执行不同的测试。 例如:我有1台主机和2台从机。我将jmx脚本保存在主机中,并将测试数据保存在所有从机中 在所有从机中启动jmeter-server 使用以下命令从master运行分布式测试"jmeter-n-tscript.jmx-pcondition1.properties-R SlaveIP1

  • 我已经看了几个不同的线程,没有找到解决方案。我做了一个项目,使用java和Gradle从google sheets检索数据。我已经创建了一个工件,并通过IntelliJ构建了jar文件。当我尝试使用“java-jar filename.jar”通过终端运行jar时,我得到“no main manifest attribute,in filename.jar” My Manifest.mf位于mai

  • 在以下Spring Boot应用程序中,@Value注释在WebSecurityConfig类中成功,但在FileSystemUplad类中没有。在FileSystemUplad类中,值(测试)使用与WebSecurityConfig使用的相同属性文件导致null。 应用.java WebSecurityConfig.java(其中@Value注入工作正常) FileSystemUpload.ja

  • 我正在尝试通过Multer将文件上载到服务器。这段代码所做的只是创建文件夹,而不是文件。我还尝试使用github上的教程,但在前端我的代码也没有成功 代码AJAX 还有MAIN.JS 我从前端获得的console.log输出: