2017-04-15 38 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

它在你的项目的类路径,这就是春天开机后