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(); + } + }