Spring 组件扫描没有无参数构造函数的 bean

@Component

public class StringConsumer {


@Autowired

MessageConsumer messageConsumer;



public void m1(Channel channel) {


//MessageConsumer messageConsumer=new MessageConsumer(channel);

//how to use spring to do this, initialize MessageConsumer with channel instance value for this class.


}   

}


@Component

public class MessageConsumer implements Consumer {


public MessageConsumer(Channel channel) {

        this.channel=channel;

    }

public MessageConsumer(Channel channel, String type) {

        this.channel=channel;

    }


}

如何使用 spring 初始化 MessageConsumer(new Channel()) 并在其他类中使用自动连接。如何初始化类的不同构造函数。


沧海一幻觉
浏览 280回答 3
3回答

HUWWW

在类中创建这样的 bean@Configurationclass ConfigClass {  @Bean  public MessageConsumer  createMessageConsumer() {    MessageConsumer messageConsumer = new MessageConsumer(new Channell());    return messageConsumer; }}删除@ComponentMessageConsumer 类。如果你这样做是多余的。现在,如果您在任何类中 Autowire MessageConsumer,它将返回在上述方法中创建的 bean(已初始化通道)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java