Skip to content

Commit 613a36e

Browse files
authored
Merge pull request eugenp#10771 from MajewskiKrzysztof/BAEL-4871
Bael 4871
2 parents 4fb7e40 + 1e791d0 commit 613a36e

17 files changed

Lines changed: 362 additions & 0 deletions

spring-boot-modules/spring-boot-annotations/pom.xml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
<groupId>org.springframework.boot</groupId>
2525
<artifactId>spring-boot-starter-web</artifactId>
2626
</dependency>
27+
<dependency>
28+
<groupId>org.springframework.boot</groupId>
29+
<artifactId>spring-boot-autoconfigure</artifactId>
30+
</dependency>
2731
<dependency>
2832
<groupId>org.springframework.boot</groupId>
2933
<artifactId>spring-boot-starter-data-jpa</artifactId>
@@ -44,6 +48,11 @@
4448
<artifactId>spring-boot-starter-test</artifactId>
4549
<scope>test</scope>
4650
</dependency>
51+
<dependency>
52+
<groupId>org.mockito</groupId>
53+
<artifactId>mockito-inline</artifactId>
54+
<scope>test</scope>
55+
</dependency>
4756
</dependencies>
4857

4958
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.baeldung.annotations.conditional;
2+
3+
import org.springframework.boot.autoconfigure.condition.ConditionalOnWarDeployment;
4+
import org.springframework.context.annotation.Configuration;
5+
6+
@Configuration
7+
@ConditionalOnWarDeployment
8+
public class AdditionalWebConfiguration {
9+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.baeldung.annotations.conditional;
2+
3+
import org.apache.commons.lang3.SystemUtils;
4+
import org.springframework.boot.system.JavaVersion;
5+
6+
public class ConditionalUtils {
7+
8+
public static boolean isWindows() {
9+
return SystemUtils.IS_OS_WINDOWS;
10+
}
11+
12+
public static boolean isJava8() {
13+
return JavaVersion.getJavaVersion().equals(JavaVersion.EIGHT);
14+
}
15+
16+
public static boolean isJava9() {
17+
return JavaVersion.getJavaVersion().equals(JavaVersion.NINE);
18+
}
19+
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.baeldung.annotations.conditional;
2+
3+
import org.springframework.context.annotation.Bean;
4+
import org.springframework.context.annotation.Conditional;
5+
import org.springframework.context.annotation.Configuration;
6+
7+
@Configuration
8+
@Conditional(IsDevEnvCondition.class)
9+
public class DevEnvLoggingConfiguration {
10+
11+
@Bean
12+
@Conditional(IsDevEnvCondition.class)
13+
LoggingService loggingService() {
14+
return new LoggingService();
15+
}
16+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.baeldung.annotations.conditional;
2+
3+
import org.springframework.context.annotation.Condition;
4+
import org.springframework.context.annotation.ConditionContext;
5+
import org.springframework.core.type.AnnotatedTypeMetadata;
6+
7+
public class IsDevEnvCondition implements Condition {
8+
9+
@Override
10+
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
11+
return "dev".equals(System.getProperty("env"));
12+
}
13+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.baeldung.annotations.conditional;
2+
3+
import org.springframework.context.annotation.Condition;
4+
import org.springframework.context.annotation.ConditionContext;
5+
import org.springframework.core.type.AnnotatedTypeMetadata;
6+
7+
public class IsWindowsCondition implements Condition {
8+
9+
@Override
10+
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
11+
return ConditionalUtils.isWindows();
12+
}
13+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.baeldung.annotations.conditional;
2+
3+
import org.springframework.context.annotation.Condition;
4+
import org.springframework.context.annotation.ConditionContext;
5+
import org.springframework.core.type.AnnotatedTypeMetadata;
6+
7+
public class Java8Condition implements Condition {
8+
9+
@Override
10+
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
11+
return ConditionalUtils.isJava8();
12+
}
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.baeldung.annotations.conditional;
2+
3+
import org.springframework.context.annotation.Conditional;
4+
import org.springframework.stereotype.Service;
5+
6+
@Service
7+
@Conditional(Java8Condition.class)
8+
public class Java8DependedService {
9+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.baeldung.annotations.conditional;
2+
3+
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
4+
import org.springframework.context.annotation.Conditional;
5+
6+
public class Java8OrJava9 extends AnyNestedCondition {
7+
Java8OrJava9() {
8+
super(ConfigurationPhase.REGISTER_BEAN);
9+
}
10+
11+
@Conditional(Java8Condition.class)
12+
static class Java8 { }
13+
14+
@Conditional(Java9Condition.class)
15+
static class Java9 { }
16+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.baeldung.annotations.conditional;
2+
3+
import org.springframework.context.annotation.Condition;
4+
import org.springframework.context.annotation.ConditionContext;
5+
import org.springframework.core.type.AnnotatedTypeMetadata;
6+
7+
public class Java9Condition implements Condition {
8+
9+
@Override
10+
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
11+
return ConditionalUtils.isJava9();
12+
}
13+
}

0 commit comments

Comments
 (0)