#35 springboot: @Conditional
This commit is contained in:
@@ -1,11 +1,16 @@
|
||||
package hello.config;
|
||||
|
||||
import memory.MemoryCondition;
|
||||
import memory.MemoryController;
|
||||
import memory.MemoryFinder;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
//@Conditional(MemoryCondition.class)
|
||||
@ConditionalOnProperty(name = "memory", havingValue = "on")
|
||||
public class MemoryConfig {
|
||||
|
||||
@Bean
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package memory;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
|
||||
@Slf4j
|
||||
public class MemoryCondition implements Condition {
|
||||
@Override
|
||||
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
|
||||
|
||||
// -Dmemory=on
|
||||
String memory = context.getEnvironment().getProperty("memory");
|
||||
log.info("memory={}", memory);
|
||||
return "on".equals(memory);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user