java - 类对象 getter 上的 @ConditionalonExpression

标签 java spring spring-annotations

我想知道是否有一种方法可以通过评估在运行时获取其值的类的对象来在运行时使用 @conditionalonexpression 来启用类。

例如:

@ConditionalOnExpression(#{propertyobject.getexenabled()})
class ex1{

}

propertyobject实例在运行时填充值(比如在程序开始时) 这可以实现吗?

最佳答案

是的,这是可能的,但 getexenabled() 方法应该是静态的。

喜欢:

@SpringBootApplication
public class So44456388Application {

    public static void main(String[] args) {
        SpringApplication.run(So44456388Application.class, args);
    }

    public static class Evaluator {
        public static boolean getexenabled() {
            //your logic here
            return true /*false*/;
        }
    }

    @Component
    @ConditionalOnExpression("#{T(com.stackoverflow.so44456388.So44456388Application$Evaluator).getexenabled()}")
    public static class RichBean {
        @PostConstruct
        private void init() {
            System.out.println("RichBean");
        }
    }
}

关于java - 类对象 getter 上的 @ConditionalonExpression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44456388/

相关文章:

java - 使用 BufferedInputStream 从服务器读取音频

java - Spring : Unable to resolve view name in Spring MVC

JSP View 中的 Spring 3.0.6 MVC @PathVariable 和 @RequestParam 空白/空

java - Spring Web "java.lang.NoClassDefFoundError: antlr/RecognitionException] with root cause"错误

spring - 从 Spring Data ReactiveMongoRepository 使用 Collat​​ion 的聪明方法

java - 如何使用 Spring @Configuration 而不是 XML 配置检索 JNDI

java - Mina - HTTP 代理 - AbstractHttpLogicHandler 有什么用?

java - 如何将具有两个更新语句的 Java MessageDigest 转换为 C#

java - 如何按依赖顺序生成类列表?

java - 如何将ByteArrayRawSerializer的messageSize设置为无限制?