2017-04-15 37 views
0

在Spring入門指南的以下示例中,容器bean如何獲​​取connectionFactory? Spring Boot是否自己提供了一個connectionFactory?Radis的彈簧配置,bean如何連線?

Getting Started Messaging with Spring Redis

有5種豆:

  1. 接收機
  2. listenerAdapter
  3. 模板
  4. 容器

閂鎖首先被創建。然後接收器,因爲接收器構造器需要latch.Then listenerAdapter,因爲它需要receiver.Both模板和容器都需要connectionFactory。 在代碼中,我沒有找到名爲connectionFactory的任何方法,並用@Bean進行了註釋。

@SpringBootApplication 
    public class Application { 
     @Bean 
     RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, 
       MessageListenerAdapter listenerAdapter) { 

      RedisMessageListenerContainer container = new RedisMessageListenerContainer(); 
      container.setConnectionFactory(connectionFactory); 
      container.addMessageListener(listenerAdapter, new PatternTopic("chat")); 

      return container; 
     } 

     @Bean 
     MessageListenerAdapter listenerAdapter(Receiver receiver) { 
      return new MessageListenerAdapter(receiver, "receiveMessage"); 
     } 

     @Bean 
     Receiver receiver(CountDownLatch latch) { 
      return new Receiver(latch); 
     } 

     @Bean 
     CountDownLatch latch() { 
      return new CountDownLatch(1); 
     } 

     @Bean 
     StringRedisTemplate template(RedisConnectionFactory connectionFactory) { 
      return new StringRedisTemplate(connectionFactory); 
     } 
} 

回答

0

它在你的項目的類路徑,這就是春天開機後