- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
刚刚修改了spring boot的配置,遇到了
@ConditionalOnProperty(prefix = "spring.social.", value = "auto-connection-views")
来自 org.springframework.boot.autoconfigure.social.TwitterAutoConfiguration
@Bean(name = { "connect/twitterConnect", "connect/twitterConnected" })
@ConditionalOnProperty(prefix = "spring.social.", value = "auto-connection-views")
public View twitterConnectView() {
return new GenericConnectionStatusView("twitter", "Twitter");
}
我不明白这个注释的目的。我想这可能只有在属性值存在时才能使用 bean(例如“spring.social”、“auto-connection-views”)。
最佳答案
注解用于根据属性的配置有条件地创建 Spring bean。在您在问题中显示的用法中,只有 spring.social.auto-connection-views
属性存在并且它的值不是 false
时才会创建 bean >。这意味着,要创建这个 View
bean,您需要设置 spring.social.auto-connection-views
属性,并且它的值必须不是假的。
您可以在整个 Spring Boot 代码库中找到此注解的许多其他用途。另一个例子是:
@ConditionalOnProperty(prefix = "spring.rabbitmq", name = "dynamic", matchIfMissing = true)
public AmqpAdmin amqpAdmin(CachingConnectionFactory connectionFactory) {
return new RabbitAdmin(connectionFactory);
}
注意 matchIfMissing
的使用。在这种情况下,如果 spring.rabbitmq.dynamic
属性存在并且值不是 false
或 该属性根本不存在。这使得 bean 的创建选择退出,而不是问题中选择加入的示例。
关于spring - @ConditionalOnProperty 注释的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26394778/
我想做这样的事情: @ConditionalOnProperty("${${appname}.someVal}") @Controller public class MyController {...
有什么方法可以使用基于多值属性的@ConditionalOnProperty注解吗? Spring 配置: @Bean @ConditionalOnProperty(name = "prop", ha
我正在使用 Spring Boot 1.4.3 @AutoConfiguration,我根据用户指定的属性自动创建 bean。用户可以指定一组服务,其中名称和版本是必填字段: service[0].n
刚刚修改了spring boot的配置,遇到了 @ConditionalOnProperty(prefix = "spring.social.", value = "auto-connection-v
最近,我被要求创建一个新的配置文件来(取消)激活一项功能。我有两种情况必须做出改变: class A { public void configure(AuthenticationManager
我有如下代码: @Scheduled(cron = "${cron.foo.bar}") @ConditionalOnProperty(name="cron.foo.bar.enabled", rel
我有两个取决于配置变量的类: @Component @ConditionalOnProperty("config.db") public class DatabaseTokenStore implem
我们有一个带有一些数据库实体类的 Spring-Boot 应用程序。 我们使用 ddl-auto: validate 来确保连接的数据库具有正确的架构。 现在我们要添加一个可以切换以匹配不同环境的功能
ConditionalOnProperty 似乎只适用于类路径中的属性,例如资源文件夹中的 application.properties。我需要一个最终用户可以通过外部属性打开和关闭的属性。一个例子非
我按照网上找到的教程使用 @ConditionalOnProperty 和 @Bean 来选择 @Autowired 的实现。 为了完整起见(尽管与问题无关),这样做的目的是选择一个“ICE 服务器列
我在属性文件中定义了一个属性:property=true 然后我有 SomeClass.java 类,如果属性 property 设置为真。 这是我的 SomeClass 类: public clas
我们有一个执行状态检查的@Scheduled 进程。但由于它在一组服务器上运行并为每个服务器提供相同的信息,我们得到了 5 条冗余消息。 为了解决这个问题,我发现了 @ConditionalOnPro
我有 2 个 bean : @Component("CryptoClient") @ConditionalOnProperty(name = "enabled-client", havingValue
当我设置 use.liquibase 为 true 时,我想加载 liquibase 属性并启动 H2 数据库。在所有其他情况下,我想转到相应的 RDBMS 实例。我有这样的代码 @PropertyS
目前,我在基于 applications.yaml 文件中的 String 属性创建 dataSource bean 时遇到问题。 理想情况下,我只想在 application.yaml 文件中设置了
我有 2 个 bean : @Component("CryptoClient") @ConditionalOnProperty(name = "enabled-client", havingValue
我有一个组件,我可以从 Spring Boot 应用程序中的 applikation.properties 启用/禁用它。 在我的 application.properties 中我有 wiki.en
如果存在属性,我想触发特定的计划函数。 我的属性如下: tasks: task1: interval: "* * * ? * *" task2: int
假设我们有以下代码: @SpringBootApplication @ConditionalOnProperty(value = "scheduling.enable") @EnableSchedul
我可以用@Autowired Spring 4.x @Component s 带有 @ConditionalOnProperty基于featuretoggles.properties 文件选择功能的实
我是一名优秀的程序员,十分优秀!