我需要获取使用 Spring Boot 应用程序启动生成的 ConnectionFactory 实例,
@Configuration
public 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();
}
}
即使该值是自动连接的,我也会将配置对象设置为 null,并且有什么方法可以在加载 SpringBoot 应用程序后获取连接工厂实例。
当前是否可以在不使用静态的情况下获取实例?我将实例设置为静态对象并检索它,但我需要使用现有的连接工厂实例而不使用静态方法。
请建议如何实现?
最佳答案
@Bean
向 Spring bean 工厂注册一个 ConnectionFactory
实例。所以你应该@Autowire 。 Consumer
应标记为 @Component
或等效标记,以便 Spring 可以管理填充 @Autowired
beans。
@Component
public class Consumer {
@Autowired ConnectionFactory cf;
public void request(Queue queue) {
// use the connection factory here
}
}
关于java - 应用程序请求为空后使用 Autowired 获取实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58668389/