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

使用xml bean配置时基于条件的自动连接

淳于哲
2023-03-14

我正在使用Spring配置文件(xml配置)进行Spring自动布线。我想根据一个条件注射豆子。让我详述一下。

  • 有两个类“EmailSender”和“SMSSender”,它们实现了接口IMessageSender。在配置文件中为这两个类配置了bean。

>

  • 我有另一个类SenderUser,其中有一个类型为IMessageSender的实例变量。

    private IMessageSender msg;
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getType() {
        return Type;
    }
    
    public void setType(String type) {
        Type = type;
    }
    
    public IMessageSender getMsg() {
        return msg;
    }
    
    public void setMsg(IMessageSender msg) {
        this.msg = msg;
    }
    
    • 我想根据SenderUser.getType()的值将imessageSender注入到SenderUser的bean中。这意味着首先应该设置sernderuser.type,然后基于它的值(如果value是'email',则应该连线名为'email'的bean,否则应该连线名为'sms'的bean。)msg应有线连接。

    请帮我解决这个问题。

  • 共有1个答案

    洪季萌
    2023-03-14

    我相信最好的方法是为SenderUser实现一个BeanFactory。看看这篇文章有什么想法。

     类似资料:
    • 当我使用Spring framework时,我经常看到2个术语基于Java和基于注释的配置/自动生成。 如果它们不一样,你能告诉我它们之间有什么不同吗?

    • 所有 CMS 都是千篇一律的增删改查,看起来并没有什么特别的功能却要投入人力去开发。为了解决前端开发资源浪费的问题,就有了「Duang」这个工具。

    • 本文向大家介绍基于XML配置Spring的自动装配过程解析,包括了基于XML配置Spring的自动装配过程解析的使用技巧和注意事项,需要的朋友参考一下 一、了解Spring自动装配的方式 采用传统的XML方式配置Bean组件的关键代码如下所示 我们通过<property>标签为Bean的属性注入所需的值,当需要维护的Bean组件及需要注入的属性更多时,势必会增加配置的工作量。这时可以使用自动装配。

    • 问题内容: 不合理,无法通过注释而不是纯XML Bean来配置Spring Bean,现在我正面临后果。 我使用以下方式配置REST通道 现在,我只需要简单地将设置为仅将此具有非null值的字段输出到JSON。我尝试了以下方法: Bean被创建,但是转换器的另一个实例已创建并在通道中使用。所以我已经尝试过这种方法并在Stackoverflow问题中进行了描述,但是json序列化仍然使用其自己的配置

    • 最后,我尝试通过 但我以结束。所以现在我别无选择,所以我在这里征求任何想法。如何控制和配置框架使用的映射器?

    • 我需要创建基于特定环境属性文件的WAR文件。 因此我创建了2个属性文件, > application.dev.properties null