我想知道是否有一种方法可以通过评估在运行时获取其值的类的对象,在运行时使用@conditionalonexpression来启用类。
例如:
@ConditionalOnExpression(#{propertyobject.getexenabled()}) class ex1{ }
propertyobject实例在运行时填充了值(在程序开始时说)是否可以实现?
是的,可以,但是getexenabled()方法应该是静态的。
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"); } } }