diff --git a/app/app/pom.xml b/app/app/pom.xml
index 494796c..be8d8b4 100644
--- a/app/app/pom.xml
+++ b/app/app/pom.xml
@@ -19,6 +19,10 @@
com.workshop
library-spring-boot-starter
+
+ com.workshop
+ library-slf4j
+
org.springframework.boot
spring-boot-starter-test
diff --git a/components/library-autoconfigure/pom.xml b/components/library-autoconfigure/pom.xml
index 9620e04..3b632e9 100644
--- a/components/library-autoconfigure/pom.xml
+++ b/components/library-autoconfigure/pom.xml
@@ -24,6 +24,11 @@
library-stdout
true
+
+ com.workshop
+ library-slf4j
+ true
+
org.springframework.boot
spring-boot-autoconfigure
diff --git a/components/library-autoconfigure/src/main/java/com/workshop/magic/config/GreetingAutoConfiguration.java b/components/library-autoconfigure/src/main/java/com/workshop/magic/config/GreetingAutoConfiguration.java
index 386df3c..c42abbd 100644
--- a/components/library-autoconfigure/src/main/java/com/workshop/magic/config/GreetingAutoConfiguration.java
+++ b/components/library-autoconfigure/src/main/java/com/workshop/magic/config/GreetingAutoConfiguration.java
@@ -1,11 +1,13 @@
package com.workshop.magic.config;
import com.workshop.magic.service.GreetingService;
+import com.workshop.magic.service.slf4j.LoggerGreetingService;
import com.workshop.magic.service.stdout.StdOutGreetingService;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
import org.springframework.context.annotation.Bean;
@AutoConfiguration
@@ -15,8 +17,16 @@ public class GreetingAutoConfiguration {
@Bean
@ConditionalOnMissingBean
@ConditionalOnClass(StdOutGreetingService.class)
+ @ConditionalOnMissingClass("com.workshop.magic.service.slf4j.LoggerGreetingService")
GreetingService stdOutGreetingService() {
return new StdOutGreetingService();
}
+ @Bean
+ @ConditionalOnMissingBean
+ @ConditionalOnClass(LoggerGreetingService.class)
+ GreetingService slf4jGreetingService() {
+ return new LoggerGreetingService();
+ }
+
}