💐 Spring

💐 Spring/Spring 핵심 기술

8. IoC 컨테이너 7부 : MessageSource

국제화 (i18n) 기능을 제공하는 인터페이스. ApplicationContext extends MessageSource getMessage(String code, Object[] args, String, default, Locale, loc) ... 스프링 부트를 사용한다면 별다른 설정 필요없이 messages.properties 사용할 수 있음 messages.properties messages_ko_kr.properties ... @Component public class AppRunner implements ApplicationRunner { @Autowired MessageSource messageSource; @Override public void run(ApplicationArguments ..

💐 Spring/Spring 핵심 기술

7. IoC 컨테이너 6부 : Environment 2부. 프로퍼티

프로퍼티 다양한 방법으로 정의할 수 있는 설정값 Environment의 역할은 프로퍼티 소스 설정 및 프로퍼티 값 가져오기 1) 다양한 방법으로 정의할 수 있는 설정값 1-1. VM options 설정 VM options : -Dapp.name=spring5 설정 @Component public class AppRunner implements ApplicationRunner { @Autowired ApplicationContext ctx; @Autowired BookRepository bookRepository; @Override public void run(ApplicationArguments args) throws Exception { Environment environment = ctx.getEnv..

💐 Spring/Spring 핵심 기술

6. IoC 컨테이너 6부 : Environment 1부. 프로파일

Environment 프로파일과 프로퍼티를 다루는 인터페이스 ApplicationContext extends EnvironmentCapable getEnvironment() Environment EnvironmentCapable 프로파일 빈들의 그룹 Environment의 역할은 활성화할 프로파일 확인 및 설정 프로파일 유즈케이스 테스트 환경에서는 A라는 빈을 사용하고, 배포 환경에서는 B라는 빈을 쓰고 싶은 경우! 이 빈은 모니터링 용도니까 테스트할 때는 필요가 없고 배포할 때만 등록이 되면 좋겠다! 1. 각각의 환경에 따라.. 다른 빈들을 써야하는 경우! 2. 특정 환경에서만 어떤 빈을 등록하는 경우 프로파일 정의하기 클래스에 정의 @Configuration @Profile("test") @Compo..

💐 Spring/Spring 핵심 기술

5. IoC 컨테이너 5부 : 빈의 스코프

스코프 싱글톤 ( 기본값 ) : 오직 하나의 인스턴스 프로토타입 ( @Scope("prototype") 추가해줘야함. ) : 매번 다른 인스턴스 객체 Request Session WebSocket ... 싱글톤 proto 는 AppRunner가 주입받은 인스턴스이고, single.getProto() 는 Single클래스에서 직접 주입 시켜준 인스턴스이다. 결과 결과는 당연히 싱글톤이므로 하나의 객체가(똑같은 객체가) 찍힌다. 프로토타입 @Scope("prototype")을 지정해주고 Proto 객체와 Single 객체 를 각각 3번 출력해보았다. 결과는 역시 싱글톤은 매번 같은 객체가 나오는 반면, 프로토타입은 매번 다른 객체가 나오는걸 알수있다. 프로토타입 빈이 싱글톤 빈을 참조하면? 아무 문제 없음...

💐 Spring/Spring 핵심 기술

2. IoC 컨테이너 2부 : ApplicationContext와 다양한 빈 설정 방법

스프링 IoC 컨테이너의역할 빈 인스턴스 생성 의존 관계 설정 빈 제공 (IoC 예시) 객체를 내가 직접 new 생성 (IoC 적용 x) class OwnerController{ private OwnerRepository repository = new OwnerRepository(); } IoC 를 이용한 의존성 주입 (IoC 적용 o) class OwnerController{ private OwnerRepository repo; public OwnerController(OwnerRepository repo){ //생성자를 통해 매개변수로 객체를 받는다 this.repo = repo; } } IoC OwnerRepository라는 의존성을 OwnerController 에게 주입시킨다. -> 이것이 IoC..

💐 Spring/Spring 핵심 기술

1. IoC 컨테이너 1부 : 스프링 IoC 컨테이너와 빈

IoC 란? Inversion of Control : 의존 관계 주입( Dependency Injection) 이라고도 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입 받아 사용하는 방법을 말함 스프링 IoC 컨테이너 BeanFactory 애플리케이션 컴포넌트의 중앙 저장소 빈 설정 소스로 부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다. 컨테이너가 관리하는 객체를 빈(bean)이라고 하고, 이 빈(bean)들을 관리한다는 의미로 컨테이너를 빈 팩토리(BeanFactory) 라고 부른다. BeanFactory에 여러 가지 컨테이너 기능을 추가하여 애플리케이션 컨텍스(ApplicationContext)라고 부름 OwnerController 가 IoC 컨테이너 내부에 들어오..

iseunghan
'💐 Spring' 카테고리의 글 목록 (12 Page)