【问题标题】:Spring, Bean, constructor-arg as StringSpring,Bean,constructor-arg as String
【发布时间】:2020-02-27 20:51:21
【问题描述】:

我遇到了一个异常: 没有为依赖项 [java.lang.String] 找到符合条件的 bean:预计至少有 1 个符合自动装配候选条件的 bean。

在 beans.xml 中

<bean id = "database" class = "com.price.compare.service.DAO" scope="singleton">
    <constructor-arg index="0" type = "java.lang.String" value="localhost"/>
    <constructor-arg index="1" type = "java.lang.String" value="5432"/>
</bean>

DAO.java

@零件 公共类 DAO { 私有最终字符串主机; 私有最终字符串端口; 公共 DAO(字符串主机,字符串端口){ this.host = 主机; this.port = 端口; } @PostConstruct 公共无效初始化(){ // 自定义初始化逻辑 } }

【问题讨论】:

    标签: java spring javabeans


    【解决方案1】:

    你已经定义了 bean 两次;在 XML 配置中作为@Component bean。

    通过使用@Component 注释,bean 在组件扫描期间被拾取。但是,由于在组件扫描过程中所需的字符串参数不明确,所以会抛出异常。

    从您的 bean 中删除 @Component 注释,让您的 XML 配置 bean 成为唯一的 DAO bean。

    【讨论】:

      猜你喜欢
      • 2015-05-16
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      • 2018-08-15
      • 2013-06-20
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      相关资源
      最近更新 更多