Problem I’m building a Spring Boot application where a TreeRepository bean must be activated by two conditions simultaneously: a Spring @Profile and a custom @Conditional . The repository is defined like this: java @Repository @Profile(“mongo”) @Conditional(MongoCondition.class) @Primary public class MongoTreeRepository implements TreeRepository { // … } MongoCondition reads a property:properties public class MongoCondition implements Condition { @Override public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { String repoType = context.getEnvironment().getProperty