我有一个简单的问题,但我在文档中找不到任何关于它的东西,也找不到任何示例。
我有一个使用RabbitMQ和spring boot AMQP模块的spring boot项目。我正在使用一个特定的交换和springJackson2JSONMessageConverter
,所以我想我需要定义我自己的RabbitTemplate
bean(在这一点上,如果有人知道是否可以用另一种更简单的方法来完成,欢迎您)。
@Bean
RabbitTemplate myAwesomeTemplate() {
RabbitTemplate rabbitTemplate = new RabbitTemplate();
rabbitTemplate.setExchange(myBeautifulExchange);
rabbitTemplate.setRoutingKey("legendary");
rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());
rabbitTemplate.setConnectionFactory(connectionFactory());
return rabbitTemplate;
}
这里对我来说真正的问题是,我还必须定义一个CachingConnectionFactory
bean,只是为了将其设置为模板,但似乎CachingConnectionFactory
已经由spring的RabbitAutoConfiguration
类定义了,所以我想知道我是否可以在我的类中简单地做到这一点:
@Autowired
CachingConnectionFactory cachingConnectionFactory
但是Intellij一直抱怨,因为它找不到那个bean的定义,好像是什么定义顺序问题什么的……当我以这种方式启动项目时,它似乎还可以,但我不喜欢Intellij抱怨,这就好像我在做一些“不是标准方式”的事情。
提前谢谢大家!抱歉解释得太长了。
ps:如果我只想自动连接spring的rabbitproperties
bean并使用主机、用户名和密码属性(分别为Spring.rabbitmq.host
、Spring.rabbitmq.username
和Spring.rabbitmq.password
),则会出现同样的问题。
但Intellij一直抱怨,因为它找不到定义……我不喜欢Intellij抱怨,就像我在做一些“不是标准方式”的事情。
您可以尝试通过将它添加到工厂方法并使用参数注入来愚弄它...
@Bean
RabbitTemplate myAwesomeTemplate(ConnectionFactory rabbitConnectionFactory) {
...
}
财产也是一样。
任何一种方式(@autowired
或这一种)都是“标准方式”。
如果它还抱怨,我建议你和Jetbrains谈谈。
我在我的SpringBoot应用程序中使用SpringCloud配置,我需要编写一些自定义代码来处理属性,当属性被标记为这样时,这些属性将从我的公司密码库中读取。我知道SpringCloud支持Hashicorp Vault,但在这种情况下不是这样的。 我不想硬编码从不同的源检索特定的属性,例如,我会为应用程序创建一个属性文件,其中profile的值为: 但对于其他一些配置文件,如,我会: 因此,
在我的项目中有2个资源属性 1.application.properties 2. 应用开发.性能 此类使用开发的值属性 我使用 application-development.properties 作为我的项目资源 因此,我使用以下命令运行该项目: < code > mvn spring-boot:run-D spring . profiles . active = development 但是
我使用的是带有默认属性文件的Spring Boot2.0。我想把它拆分到不同的属性文件中,因为它变得很大。 我还想编写测试来检查属性的正确性:将在生产应用程序上下文(而不是测试上下文)上显示的值。 下面是我的属性文件:src/main/resources/config/custom.yml 但是测试失败并出现错误: 此外,通过在中打印应用程序,我看到在运行应用程序时,属性值为。 当我对所有属性使用
我们正在使用spring和Spring-Security-3.2。最近,我们向RESTAPI添加了注释@preauthorize(以前是基于URL的)。 我们已经有了用-@ControllerAdvice和自定义的PermissionEvaluator注释的全局异常处理程序,除了错误消息之外,其他一切都正常工作。 是否可能抛出一个包含权限名称的异常,所以最终的错误消息应该是“Access Is d
我已经用自定义注释注释了Spring bean,但似乎Spring在创建bean后删除了我的自定义注释。 第二步不行,我的自定义注释丢失了。(可能是到期的代理文件) 我的豆子 我的一个自定义注释的示例 findAndDoStuffWithAnnotatedThings Bean中出错的内容被传递到一个类,在该类中,我的自定义注释得到验证,但我的验证程序找不到任何注释。(Util使用isAnnota
当使用自定义重定向URL配置Spring security时,该URL使用基本URI模板变量,如下所示:https://docs.Spring.io/Spring-security/site/docs/5.2.12.release/reference/html/oauth2.html#oauth2client-auth-code-redirect-uri 应用程序进入了太多重定向的循环。 此配置工