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

@bean不按名称注入

漆雕洋
2023-03-14

我使用的是Spring Boot1.3,我有下面的配置类:

@Configuration

public class MainConfig {

    @Bean(name="dateAndTimeFormater")
    public SimpleDateFormat dateAndTimeFormater(){
        return new SimpleDateFormat("yyyy-MM-dd"+Constants.STRING_SEPARATOR+"hh:mm");
    }
    @Bean(name="dateFormater")
    public SimpleDateFormat dateFormaterBean(){
        return new SimpleDateFormat("yyyy-MM-dd"+Constants.STRING_SEPARATOR+"hh:mm");
    }
}

当我试图按名称注入下面的bean之一时,它抛出:没有定义[java.text.SimpleDateFormat]类型的合格bean:预期的是单个匹配bean,但找到了2:dateAndTimeFormater,DateFormater。

@Autowired
@Qualifier("dateAndTimeFormater")
public static void setSdf(SimpleDateFormat sdf) {
    myClass.sdf = sdf;
}

如有任何建议,将不胜感激?

共有1个答案

晏树
2023-03-14

这是因为您正在尝试连接静态方法,spring容器将不会连接依赖项来查看静态引用或方法,为什么不能这样做呢

@Autowired
@Qualifier("dateAndTimeFormater")
public void setSdf(SimpleDateFormat sdf) {
    myClass.sdf = sdf;
}
 类似资料:
  • 问题内容: 我正在读初春(威利出版社)的书。在第二章中有一个关于Java配置和Java的示例。它提供了这个类 还有这个普通的bean类 当我运行代码时,它可以工作。但是我期待一个异常,因为我在配置中定义了2个具有相同类型的bean。 我意识到它的工作原理是这样的: 如果Spring遇到多个具有相同类型的bean,它将检查字段名称。 如果找到具有目标字段名称的bean,则将该bean注入该字段。 这

  • 我正在读《初春》(威利出版社)的书。在第2章中,有一个关于Java配置和的示例。它提供了这个类 还有这个普通的豆类课 当我运行代码时,它就工作了。但我预期会出现异常,因为我在配置中定义了两个具有相同类型的bean。 我意识到它是这样工作的: 如果Spring遇到多个具有相同类型的bean,它将检查字段名。 这不对吗?Spring对Java配置的处理是否存在缺陷?

  • 我有一个关于Spring注释的问题。在我的(学习)项目中,我定义了两个类,另一个类有两个属性,每种类型一个。为了生成一个错误,我在XML中定义了两个相同类类型的beans,并且在setter方法中使用了@Autowired注释。大概是这样的: 在主类中,我获取此 Bean 的应用程序上下文的实例,并打印覆盖 toString 方法的属性的内容,这是一个简单的测试。我已经读到Spring自动连线注释

  • 我知道有可能通过名字得到一个类,使用 是否可以通过名称检索注释?我尝试了这个: 然后将c转换为

  • 我刚刚开始学习Spring,我面临以下问题。有人能指出我可能做错了什么吗? 线程“main”组织中出现异常。springframework。豆。工厂BeanDefinitionStoreException:IOException解析来自类路径资源[org/pus/learn/src/main/resources/applicationBean.XML]的XML文档;嵌套的例外是java。伊奥。Fi

  • 我和jee和wildfly一起工作了几天,现在我有问题了。我创建了这样的东西: 接下来,我尝试在jsf中使用,但遇到了异常: 2017-05-23 08:49:07,447]工件EAR:EAR:工件部署过程中出错。有关详细信息,请参阅服务器日志。 > 带有限定符[@default@named@any]的生产者方法[List]声明为[[BackedAnnotatedMethod]@produces@