You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring创建person Bean报错:无法解析对add Bean的引用

报错原因及解决方案

报错分析

报错信息:

Error creating bean with name 'person' defined in class path resource [config.xml]: Cannot resolve reference to bean 'add' while setting bean property 'address'

核心问题是Spring无法初始化ID为add的Address Bean,导致person Bean在引用它时找不到对应实例。具体原因是Address类中缺少city属性的setter方法——Spring的setter注入依赖对应属性的setter方法完成赋值,没有该方法时,Spring无法为Address Bean注入city属性,进而导致该Bean初始化失败。

解决步骤

  1. 为Address类添加city属性的setter方法:
package com.lcwd.withoutboot;
public class Address { 
    String city;

    // 添加setter方法
    public void setCity(String city) {
        this.city = city;
    }

    @Override
    public String toString() {
        return "Address{" +
                "city='" + city + '\'' +
                '}';
    }
}
  1. 验证配置文件路径
    确保config.xml位于src/main/resources目录下,这样Maven编译后会将其放入classpath中,Spring的ClassPathXmlApplicationContext才能正确加载。

  2. 重新编译运行
    执行Maven编译命令mvn clean compile,然后运行App类,即可正常创建Bean并完成依赖注入。

补充说明

Spring XML配置里的<property>标签默认使用setter注入,要求目标类必须包含对应属性的setter方法,方法名需遵循JavaBean规范(即set+属性首字母大写,如setCity)。如果不想用setter注入,也可改用构造器注入,但需要在类中添加对应构造方法并修改XML配置。

内容的提问来源于stack exchange,提问作者user17788823

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 23:23:10