gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 19:50:01 25 4
gpt4 key购买 nike

@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()) 并在其他类中使用自动连接。如何初始化类的不同构造函数。

最佳答案

在类中创建一个这样的bean

@Configuration
class ConfigClass {

@Bean
public MessageConsumer createMessageConsumer() {
MessageConsumer messageConsumer = new MessageConsumer(new Channell());
return messageConsumer;
}
}

删除 MessageConsumer 类上的 @Component。如果你这样做是多余的。
现在,如果您在任何类中 Autowire MessageConsumer,它都会返回在上述方法中创建的 bean(已初始化 channel )。

关于java - Spring 组件扫描没有无参数构造函数的 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51702189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com