From 2f3eebee43b7b524ec1ba8bae99b86ae6c096d36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Thu, 14 Aug 2025 17:58:14 +0200 Subject: [PATCH] Proper user of ImportAutoConfiguration --- .DS_Store | Bin 6148 -> 6148 bytes .../main/java/com/example/demo/AppConfig.java | 4 ++-- ...oConfig.java => FooAutoConfiguration.java} | 5 +---- ...ot.autoconfigure.AutoConfiguration.imports | 3 +-- .../com/example/demo/FooConsumerTest.java | 7 ++++--- 5 files changed, 8 insertions(+), 11 deletions(-) rename 3.5/demo-app/src/main/java/com/example/demo/{FooConfig.java => FooAutoConfiguration.java} (72%) diff --git a/.DS_Store b/.DS_Store index a71e5ff7c7203558a6917285b2e63b8561b605e9..f17d2453520a85cfebf25d082ea5695290d9be9e 100644 GIT binary patch delta 47 zcmZoMXfc@J&&ahgU^gQp*Jd6jMaIeXOl-WSWx+*xIr(|%3=9m6n+=(dvutMP_{$Ff DJ@gGU delta 32 ocmZoMXfc@J&&atkU^gQp=Vl%zMaIoO%)4187RYaA=lIJH0G{0ms{jB1 diff --git a/3.5/demo-app/src/main/java/com/example/demo/AppConfig.java b/3.5/demo-app/src/main/java/com/example/demo/AppConfig.java index ba90bd5..1406d73 100644 --- a/3.5/demo-app/src/main/java/com/example/demo/AppConfig.java +++ b/3.5/demo-app/src/main/java/com/example/demo/AppConfig.java @@ -1,11 +1,11 @@ package com.example.demo; -import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import java.util.List; -@AutoConfiguration +@Configuration(proxyBeanMethods = false) public class AppConfig { @Bean diff --git a/3.5/demo-app/src/main/java/com/example/demo/FooConfig.java b/3.5/demo-app/src/main/java/com/example/demo/FooAutoConfiguration.java similarity index 72% rename from 3.5/demo-app/src/main/java/com/example/demo/FooConfig.java rename to 3.5/demo-app/src/main/java/com/example/demo/FooAutoConfiguration.java index 2fac5dc..6ae934c 100644 --- a/3.5/demo-app/src/main/java/com/example/demo/FooConfig.java +++ b/3.5/demo-app/src/main/java/com/example/demo/FooAutoConfiguration.java @@ -2,17 +2,14 @@ import com.example.library.Bar; import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.autoconfigure.AutoConfigureAfter; -import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; @AutoConfiguration(before = AppConfig.class, afterName = "com.example.library.BarAutoConfiguration") @ConditionalOnClass(Bar.class) @ConditionalOnBean(Bar.class) -public class FooConfig { +public class FooAutoConfiguration { @Bean public Foo foo(Bar bar) { diff --git a/3.5/demo-app/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/3.5/demo-app/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 2bcc747..5c7ed0c 100644 --- a/3.5/demo-app/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/3.5/demo-app/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,2 +1 @@ -com.example.demo.AppConfig -com.example.demo.FooConfig \ No newline at end of file +com.example.demo.FooAutoConfiguration \ No newline at end of file diff --git a/3.5/demo-app/src/test/java/com/example/demo/FooConsumerTest.java b/3.5/demo-app/src/test/java/com/example/demo/FooConsumerTest.java index 6b87e21..a6dfe11 100644 --- a/3.5/demo-app/src/test/java/com/example/demo/FooConsumerTest.java +++ b/3.5/demo-app/src/test/java/com/example/demo/FooConsumerTest.java @@ -1,17 +1,18 @@ package com.example.demo; import com.example.library.Bar; -import com.example.library.EnableBarTest; +import com.example.library.BarAutoConfiguration; import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; import static org.assertj.core.api.AssertionsForClassTypes.assertThat; -@SpringBootTest(classes = {AppConfig.class, FooConfig.class}, properties = {"debug=true"}) -@EnableBarTest +@SpringBootTest(classes = AppConfig.class, properties = {"debug=true"}) +@ImportAutoConfiguration({BarAutoConfiguration.class, FooAutoConfiguration.class}) public class FooConsumerTest { @MockitoSpyBean