我需要獲取使用 Spring Boot 應(yīng)用程序啟動生成的 ConnectionFactory 實(shí)例,@Configurationpublic class Config { @Bean public ConnectionFactory connectionFactory() { CachingConnectionFactory connectionFactory = new CachingConnectionFactory("localhost"); return connectionFactory; }}public class Consumer { @Autowired Config config; public void request(Queue queue) { ConnectionFactory cf=config.connectionFactory(); }}即使該值是自動連接的,我也將配置對象設(shè)置為 null,并且有什么方法可以在加載 SpringBoot 應(yīng)用程序后獲取連接工廠實(shí)例。當(dāng)前是否可以在不使用靜態(tài)的情況下獲取實(shí)例?我將實(shí)例設(shè)置為靜態(tài)對象并檢索它,但我需要使用現(xiàn)有的連接工廠實(shí)例而不使用靜態(tài)方法。請建議如何實(shí)施?
1 回答

largeQ
TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個贊
向 Spring bean 工廠注冊@Bean一個實(shí)例。ConnectionFactory所以你應(yīng)該@Autowire這樣做。并且Consumer應(yīng)該標(biāo)記為@Component或等效的,以便 Spring 可以管理填充@Autowiredbean。
@Component
public class Consumer {
@Autowired ConnectionFactory cf;
public void request(Queue queue) {
// use the connection factory here
}
}
添加回答
舉報
0/150
提交
取消