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

Spring Bean编译问题

邢献
2023-03-14

我正在尝试一些spring示例代码。在本例中,我试图创建一个字符串并在另一个bean中使用它。另一个bean在一个类中设置字符串,然后当我调用那个类时,希望它能打印出消息。但是,我得到一条错误消息。有人能建议一下这里可能出了什么问题吗?

public static void main(String[] args) {
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("MyConfig.xml");

SetterMessage message = (SetterMessage) applicationContext.getBean("setStringFromBean");
System.out.println(message.getMessage()); 
}

public class SetterMessage {

    private String message = null;
    /**
     * Gets message.
     */
    public String getMessage() {
        return message;
    }

    /**
     * Sets message.
     */
    public void setMessage(String message) {
        this.message = message;
    }
}

<bean id="createString" class="java.lang.String">
<constructor-arg value="Hello from a bean"</constructor-arg>
</bean>

<bean id="setStringFromBean" class="SetterMessage">
    <property name="message" ref="createString" />
</bean>

2012年10月23日8:36:58 PM org.springframework.context.support.abstractapplicationcontext准备refresh信息:刷新org.springframework.context.support.classpathxmlapplicationcontext@4447393f:启动日期[2012年英国夏令时10月23日星期二20:36:58];上下文层次结构的根2012年10月23日8:36:58 PM org.springframework.beans.factory.XML.xmlBeanDefinitionReader loadBeanDefinitions信息:从类路径资源[myconfig.XML]中加载XML bean定义[myconfig.XML]线程“main”org.springframework.beans.factory.nosuchBeanDefinitionException:在org.springframework.beans.factory.support.defaultListableBeanFactory.getBeanDefinition中没有定义名为“set stringfrombean”的bean。getBean(AbstractBeanFactory.java:193)在main.main(main.java:13)在org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1106)

共有1个答案

萧无尘
2023-03-14

您正在按名称查找一个bean,但还没有设置它的名称。

尝试:

<bean id="setStringFromBean" name="setStringFromBean" class="SetterMessage">
  <property name="message" ref="createString" />
</bean>
 类似资料:
  • 我在编译代码时遇到了这个问题。

  • 当我试图编译一个带有注释的项目时,我遇到了以下错误 如何在java解析器中修复此错误?我使用elcipselink和eclipse作为IDE。

  • 最近,我们正在将java构建作业从serverA迁移到serverB,java源代码(包含中文字符)在使用Ant的原始serverA上编译良好( ),但是,当我们将相同的代码签出到新的serverB并运行相同的Ant脚本时,出现了编码错误,如“用于编码GBK的Unmappable character”(Unmappable character for encoding GBK)。(JDK版本相同)

  • 我有豆子,例如 服务(特定服务)是使用抽象方法初始化()扩展抽象类MyService并使用方法特定的Logic()实现接口MyInterface的类。 因此,管理器在服务对象上调用方法init(),如下所示: 但当bean初始化时,我有以下问题: 无法转换“java.util”类型的属性值。将LinkedHashSet设置为所需类型“java.util”。设置“for property”“serv

  • 我不知道哪里会出错。以下是我的工作站的详细信息: java版本java版本“1.7.0_17”java(TM)SE运行时环境(构建1.7.0_17-B02)java HotSpot(TM)64位服务器VM(构建23.7-B01,混合模式) mvn-版本Apache Maven 3.2.1(EA8B2B07643DBB1B84B6D16E1F08391B666BC1E9;2014-02-14T17:

  • 我试图使用scalapb从protobuf生成case类。但是,我目前编译错误。 我有我的scalapb。sbt如下: 还有,我的构建。sbt如下: 此外,我还创建了一个示例。原型文件如下: 现在,当我尝试时,我收到以下错误: 有人能帮我解决这个错误吗? 我对scalapb的版本也有点困惑。萨米特。scalapb(https://scalapb.github.io/sbt-settings.htm