[JAVA-30987] Upgraded spring-annotations-2 to spring boot 3 (#16133)

This commit is contained in:
panos-kakos 2024-03-17 16:14:47 +02:00 committed by GitHub
parent ef96037176
commit 8a7e5a82e0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 43 additions and 33 deletions

View File

@ -20,7 +20,7 @@
<module>spring-boot-admin</module>
<module>spring-boot-angular</module>
<module>spring-boot-annotations</module>
<!-- <module>spring-boot-annotations-2</module>--> <!-- failing after upgrading to spring boot 3.2.x -->
<module>spring-boot-annotations-2</module>
<module>spring-boot-artifacts</module>
<module>spring-boot-artifacts-2</module>
<module>spring-boot-autoconfiguration</module>

View File

@ -26,6 +26,7 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>${mockito-inline.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@ -33,6 +34,15 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
</dependencies>
<properties>
<mockito-inline.version>5.2.0</mockito-inline.version>
<start-class>com.baeldung.springbootconfiguration.Application</start-class>
</properties>
</project>

View File

@ -9,12 +9,12 @@ public class ConditionalUtils {
return SystemUtils.IS_OS_WINDOWS;
}
public static boolean isJava8() {
return JavaVersion.getJavaVersion().equals(JavaVersion.EIGHT);
public static boolean isJava17() {
return JavaVersion.getJavaVersion().equals(JavaVersion.SEVENTEEN);
}
public static boolean isJava9() {
return JavaVersion.getJavaVersion().equals(JavaVersion.NINE);
public static boolean isJava21() {
return JavaVersion.getJavaVersion().equals(JavaVersion.TWENTY_ONE);
}
}

View File

@ -4,10 +4,10 @@ import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;
public class Java8Condition implements Condition {
public class Java17Condition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return ConditionalUtils.isJava8();
return ConditionalUtils.isJava17();
}
}

View File

@ -4,6 +4,6 @@ import org.springframework.context.annotation.Conditional;
import org.springframework.stereotype.Service;
@Service
@Conditional(Java8Condition.class)
public class Java8DependedService {
@Conditional(Java17Condition.class)
public class Java17DependedService {
}

View File

@ -3,14 +3,14 @@ package com.baeldung.annotations.conditional;
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
import org.springframework.context.annotation.Conditional;
public class Java8OrJava9 extends AnyNestedCondition {
Java8OrJava9() {
public class Java17OrJava21 extends AnyNestedCondition {
Java17OrJava21() {
super(ConfigurationPhase.REGISTER_BEAN);
}
@Conditional(Java8Condition.class)
static class Java8 { }
@Conditional(Java17Condition.class)
static class Java17 { }
@Conditional(Java9Condition.class)
static class Java9 { }
@Conditional(Java21Condition.class)
static class Java21 { }
}

View File

@ -4,10 +4,10 @@ import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;
public class Java9Condition implements Condition {
public class Java21Condition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return ConditionalUtils.isJava9();
return ConditionalUtils.isJava21();
}
}

View File

@ -8,12 +8,12 @@ import org.springframework.context.annotation.Conditional;
import org.springframework.stereotype.Service;
@Service
@Conditional({IsDevEnvCondition.class, IsWindowsCondition.class, Java8Condition.class})
@Conditional({IsDevEnvCondition.class, IsWindowsCondition.class, Java17Condition.class})
@ConditionalOnProperty(
value = "logging.enabled",
havingValue = "true",
matchIfMissing = true)
@ConditionalOnExpression("${logging.enabled:true} and '${logging.level}'.equals('DEBUG')")
@ConditionalOnJava(JavaVersion.EIGHT)
@ConditionalOnJava(JavaVersion.SEVENTEEN)
public class LoggingService {
}

View File

@ -7,15 +7,15 @@ import org.mockito.Mockito;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;
public class Java9ConditionUnitTest {
public class Java17ConditionUnitTest {
@Test
public void whenOnJava9_thenJava9ConditionShouldPass() {
public void whenOnJava17_thenJava7ConditionShouldPass() {
try (MockedStatic<ConditionalUtils> theMock = Mockito.mockStatic(ConditionalUtils.class)) {
theMock.when(ConditionalUtils::isJava9)
theMock.when(ConditionalUtils::isJava17)
.thenReturn(true);
Assertions.assertTrue(
new Java9Condition().matches(
new Java17Condition().matches(
Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class)
)
);
@ -24,12 +24,12 @@ public class Java9ConditionUnitTest {
}
@Test
public void whenNotOnJava9_thenJava9ConditionShouldNotPass() {
public void whenNotOnJava17_thenJava17ConditionShouldNotPass() {
try (MockedStatic<ConditionalUtils> theMock = Mockito.mockStatic(ConditionalUtils.class)) {
theMock.when(ConditionalUtils::isJava9)
theMock.when(ConditionalUtils::isJava17)
.thenReturn(false);
Assertions.assertFalse(
new Java9Condition().matches(
new Java17Condition().matches(
Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class)
)
);

View File

@ -7,15 +7,15 @@ import org.mockito.Mockito;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;
public class Java8ConditionUnitTest {
public class Java21ConditionUnitTest {
@Test
public void whenOnJava8_thenJava8ConditionShouldPass() {
public void whenOnJava21_thenJava21ConditionShouldPass() {
try (MockedStatic<ConditionalUtils> theMock = Mockito.mockStatic(ConditionalUtils.class)) {
theMock.when(ConditionalUtils::isJava8)
theMock.when(ConditionalUtils::isJava21)
.thenReturn(true);
Assertions.assertTrue(
new Java8Condition().matches(
new Java21Condition().matches(
Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class)
)
);
@ -24,12 +24,12 @@ public class Java8ConditionUnitTest {
}
@Test
public void whenNotOnJava8_thenJava8ConditionShouldNotPass() {
public void whenNotOnJava21_thenJava21ConditionShouldNotPass() {
try (MockedStatic<ConditionalUtils> theMock = Mockito.mockStatic(ConditionalUtils.class)) {
theMock.when(ConditionalUtils::isJava8)
theMock.when(ConditionalUtils::isJava21)
.thenReturn(false);
Assertions.assertFalse(
new Java8Condition().matches(
new Java21Condition().matches(
Mockito.mock(ConditionContext.class), Mockito.mock(AnnotatedTypeMetadata.class)
)
);