应用程序请求为空后使用 Autowired 获取实例

我需要获取使用 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 应用程序后获取连接工厂实例。


当前是否可以在不使用静态的情况下获取实例?我将实例设置为静态对象并检索它,但我需要使用现有的连接工厂实例而不使用静态方法。


请建议如何实施?


慕村9548890
浏览 68回答 1
1回答

largeQ

向 Spring bean 工厂注册@Bean一个实例。ConnectionFactory所以你应该@Autowire这样做。并且Consumer应该标记为@Component或等效的,以便 Spring 可以管理填充@Autowiredbean。@Componentpublic class Consumer {   @Autowired ConnectionFactory cf;     public void request(Queue queue) {        // use the connection factory here     }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java