본문 바로가기

ApplicationContext4

Spring - ApplicationEventPublisher ApplicationContext 은 여러가지 인터페이스를 상속받는다. 그 중 ApplicationEventPublisher 를 알아보자. 이벤트 프로그래밍에 필요한 인터페이스를 제공한다. ApplicationEventPublisher 옵저버 패턴 구현체로, 이벤트 기반 프로그래밍을 할 때 유용하다. 간단한 예제는 아래와 같다. 1) 이벤트를 만든다. 2) 이벤트를 Listener 에 등록시킨다. 3) AppRunner 에서 이벤트를 발생시키고, 위에서 등록한 이벤트 리스너가 이벤트를 작동시키도록 한다. 1) 이벤트 생성 public class BlueEvent extends ApplicationEvent { private int data; public int getData() { return data;.. 2021. 1. 12.
Spring - 프로파일, 프로퍼티 Spring IoC - Enviornment ApplicationContext 가 가진 속성 중 Enviornment 를 알아보자. 간단히 말하면 프로파일 (빈들의 모음), 프로퍼티 (환경 설정) 설정을 도와준다. 프로파일 ApplicationContext 는 spring IoC 최상위 클래스인 BeanFactory 뿐만 아니라 EnvironmentCapable 도 상속받는다. 이 외에도 여러가지 클래스를 상속받는다. 따라서 getEnviornment() 메소드를 사용할 수 있다. Enviornment 에서 프로파일을 받아올 수 있는데, 프로파일이란 빈들이 모인 그룹을 말한다. Enviornment의 역할은 활성화(active) 할 프로파일을 확인하고 설정을 도와주는 것이다. 따라서 사용하고 싶은 특정 .. 2021. 1. 11.
Spring IoC - 빈 등록 방법 5가지 스프링 2003년 등장해서, java EE 와 호환관계이다. 서블릿 기반 애플리케이션을 만들 때 사용한다. 스프링 5부터는 WebFlux 지원으로 서블릿 기반 아닌 애플리케이션도 만들 수 있게 되었다. 디자인 철학 모든 선택은 개발자의 몫이다. 다양한 관점을 지향한다. 하위 호환성을 지킨다. API를 신중히 설계한다. 높은 수준의 코드를 지향한다. 컨테이너와 빈 IoC(Inversion of Control, 제어의 역전)은 의존성주입 (Dependency Injection)이라고도 하며 의존성있는 객체를 직접 만드는 것이 아닌, 주입 받아 사용하는 방법이다. BeanFactory 는 스프링 IoC 컨테이너의 가장 최상위 인터페이스이다. 빈이란? 빈(bean)은 스프링 IoC 컨테이너가 관리하는 객체이다... 2021. 1. 10.
Spring IoC란 스프링 IoC IoC Inversion of Control, 제어의 역전 일반적인 의존성 제어권은 내가 사용할 의존성은 내가 만드는 것이다. 제어의 역전 (IoC)은 내가 사용할 의존성은 이미 만들어져 있는 것에 연결한다는 의미이다. 의존성 주입(DI, Dependency Injection)은 일종의 IoC 이다. IoC 컨테이너 BeanFactory 는 IoC 컨테이너다. ApplicationContext 는 BeanFactory 를 상속받는다. ApplicationContext 빈을 만들고, 의존성을 엮어주고 제공한다. Bean 인텔리제이에서 Bean은 '녹색 콩'으로 표시해준다. 애노테이션이 붙어있거나 특정 인터페이스를 상속한다. Bean 애노테이션으로 직접 빈으로 등록할수도 있다. Applicat.. 2021. 1. 8.
728x90