Skip to content

Commit

Permalink
Merge branch 'master' into factory-beans
Browse files Browse the repository at this point in the history
  • Loading branch information
Sofimedina authored Aug 23, 2023
2 parents b59f80e + 323d467 commit f0c0d2c
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package guru.springframework.sfgdi.config;


import guru.springframework.pets.CatPetService;
import guru.springframework.pets.DogPetService;
import guru.springframework.pets.PetService;
import guru.springframework.pets.PetServiceFactory;
import guru.springframework.sfgdi.repositories.EnglishGreetingRepository;
import guru.springframework.sfgdi.repositories.EnglishGreetingRepositoryImpl;
import guru.springframework.sfgdi.services.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
Expand Down Expand Up @@ -34,16 +37,26 @@ PrimaryGreetingService primaryGreetingService() {
return new PrimaryGreetingService();
}


@Profile({"ES", "default"})
@Bean(name = "i18nService")
I18NSpanishService i18NSpanishService() {
return new I18NSpanishService();
}


@Profile("EN")
@Bean
I18nEnglishGreetingService i18nService() {
return new I18nEnglishGreetingService();
@Bean
EnglishGreetingRepository englishGreetingRepository(){
return new EnglishGreetingRepositoryImpl();
}
@Profile("EN")
@Bean
I18nEnglishGreetingService i18nService(){
return new I18nEnglishGreetingService(englishGreetingRepository());
}

@Bean
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package guru.springframework.sfgdi.repositories;

public interface EnglishGreetingRepository {
String getGreeting();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package guru.springframework.sfgdi.repositories;

public class EnglishGreetingRepositoryImpl implements EnglishGreetingRepository {
@Override
public String getGreeting() {
return "Hello World - EN-from repo";
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
package guru.springframework.sfgdi.services;

import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
import guru.springframework.sfgdi.repositories.EnglishGreetingRepository;

/**
* Created by jt on 12/27/19.
*/
public class I18nEnglishGreetingService implements GreetingService {

private final EnglishGreetingRepository englishGreetingRepository;

public I18nEnglishGreetingService(EnglishGreetingRepository englishGreetingRepository) {
this.englishGreetingRepository = englishGreetingRepository;
}

@Override
public String sayGreeting() {
return "Hello World - EN";
return this.englishGreetingRepository.getGreeting();
}
}
2 changes: 1 addition & 1 deletion src/main/resources/application.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
spring.profiles.active=cat,ES
spring.profiles.active=cat,EN

0 comments on commit f0c0d2c

Please sign in to comment.