Spring,Bean,constructor-arg as String
Posted
技术标签:
【中文标题】Spring,Bean,constructor-arg as String【英文标题】:Spring, 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 公共无效初始化() // 自定义初始化逻辑【问题讨论】:
【参考方案1】:你已经定义了 bean 两次;在 XML 配置中和作为@Component
bean。
通过使用@Component
注释,bean 在组件扫描期间被拾取。但是,由于在组件扫描过程中所需的字符串参数不明确,所以会抛出异常。
从您的 bean 中删除 @Component
注释,让您的 XML 配置 bean 成为唯一的 DAO
bean。
【讨论】:
以上是关于Spring,Bean,constructor-arg as String的主要内容,如果未能解决你的问题,请参考以下文章