我有一个使用spring-rabbit的Spring(引导)应用程序,我根据需要创建绑定bean,如下所示:
import org.springframework.amqp.core.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class QueueBindings { // first binding @Bean public Queue firstQueue(@Value("${rabbitmq.first.queue}") String queueName) { return new Queue(queueName); } @Bean public FanoutExchange firstExchange(@Value("${rabbitmq.first.exchange}") String exchangeName) { return new FanoutExchange(exchangeName); } @Bean public Binding firstBinding(Queue firstQueue, FanoutExchange firstExchange) { return BindingBuilder.bind(firstQueue).to(firstExchange); } // second binding @Bean public Queue secondQueue(@Value("${rabbitmq.second.queue}") String queueName) { return new Queue(queueName); } @Bean public FanoutExchange secondExchange(@Value("${rabbitmq.second.exchange}") String exchangeName) { return new FanoutExchange(exchangeName); } @Bean public Binding secondBinding(Queue secondQueue, FanoutExchange secondExchange) { return BindingBuilder.bind(secondQueue).to(secondExchange); } }
我遇到的问题是,每3个bean只有两条信息,队列名和交换名。
有没有一种方法可以将任意数量的bean添加到上下文中,而不是复制和粘贴一堆@bean
方法?我想要类似于“对于这个列表中的每个名字,添加这三个连接的bean。”
要以编程方式注册任意数量的bean,需要下拉到较低级别的API。可以在配置类上使用@import
引用importBeanDefinitionRegistrar
实现。在注册器的registerBeanDefinitions
方法中,您将注册所有bean的bean定义。
如果希望能够在外部配置将要注册的bean,则ImportBeanDefinitionRegistrar
可以是EnvironmentAware
。这允许您注入environment
,以便您可以使用其属性自定义注册器将要注册的bean。
问题内容: 我要迁移到Redux。 我的应用程序包含很多部分(页面,组件),因此我想创建许多化简器。Redux的例子表明,我应该使用它来生成一个reducer。 另外,据我了解,Redux应用程序应具有一个存储,并且在应用程序启动后即会创建。创建商店时,我应该通过我的组合减速器。如果应用程序不是太大,这是有道理的。 但是,如果我构建多个JavaScript捆绑包怎么办?例如,应用程序的每个页面都有
在所有活动上添加导航抽屉的有效方法是什么?我不想在所有的活动和它们的布局中重复导航抽屉的代码。有没有可能以某种方式添加导航。BaseActivity(自定义类)中的抽屉,然后每个其他活动都将扩展BaseActivity以便拥有导航抽屉?
我有一个Spring boot应用程序,希望在Eclipse中作为服务器应用程序运行。因此,该应用程序将被识别为Tomcat web应用程序,并可以在更新facet时添加: 当我运行web应用程序时,找不到我的rest服务。spring boot应用程序包含的文件夹结构与spring boot发布前的spring应用程序不同。spring boot应用程序可以从配置了eclipse的tomcat上
我想在Spring Boot应用程序中使用WebSphereLiberty,而不是tomcat服务器。如果我是正确的,它是不支持开箱即用的。如何配置spring boot/websphere liberty来实现这一点?
以下是错误: 下面是我的pom.xml文件: 这是我的主课:
我能够调试一个简单的Java hello world。第一步是使用进行“编译”。我查了一下我将如何与maven完成同样的任务,发现http://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html,但这些指令用于运行应用程序并等待调试器连接。 我还尝试在。调试器抱怨在根目录中找不到文件,但它正在运行