본문 바로가기

스프링5

[Section 1] IoC 컨테이너 8부: ApplicationEventPublisher 해당 게시물은 백기선님의 스프링 프레임워크 핵심 기술 강좌를 정리한 내용 입니다. ApplicationEventPublisher - ApplicationEventPublisher는 옵저버 패턴의 구현체로 이벤트 프로그래밍에 필요한 기능을 제공한다. - ApplicationContext는 ApplicationEventPublisher를 상속 받는다. Spring 4.2 이전 버전에서 이벤트 발생 및 처리 1) ApplicationEvent를 상속받은 이벤트 클래스 작성 Spring 4.2 이전 버전에서는 ApplicationEvent를 상속받은 이벤트 클래스를 작성해야 합니다. 그리고 이벤트는 빈으로 등록하지 않습니다. 아래 코드에서 이벤트 MyEvent는 이벤트를 발생시킨 source와 정수 데이터를 담.. 2020. 9. 6.
[Section 1] IoC 컨테이너 7부: MessageSource 해당 게시물은 백기선님의 스프링 프레임워크 핵심 기술 강좌를 정리한 내용 입니다. MessageSource - 국제화(i18n) 기능을 제공하는 인터페이스 입니다. - ApplicationContext가 MessageSource 인터페이스를 상속 받는다. - ApplcationContext를 주입 받는 것처럼, MessageSource도 주입을 받을 수 있다. MessageSource - 예제 1) resources 아래에 각 국가에 맞는 메시지 설정 파일을 생성 합니다. [messages.properties] # message.properties greeting = Hello, {0} [messages_ko_KR.properties] # message_ko_KR.properties greeting = .. 2020. 9. 6.
[Section 1] IoC 컨테이너 4부: @Component와 컴포넌트 스캔 해당 게시물은 백기선님의 스프링 프레임워크 핵심 기술 강좌를 정리한 내용 입니다. 1. @ComponentScan - @ComponentScan는 @Component 애노테이션이 있는 클래스들을 스캔하여 빈으로 등록한다. - BasePackages는 입력된 패키지의 경로를 기준으로 스캔을 시작한다. (패키지의 경로를 문자열로 입력 받기 때문에 type-safe 하지 않음) BasePackageClasses는 입력된 클래스가 위치한 패키지를 기준으로 스캔을 시작한다. - 스프링 부트에서는 @SpringBootApplication 애노테이션이 붙어 있는 클래스가 컴포넌트 스캔의 시작 지점이다. 2. @ComponentScan의 주요 기능 - 스캔 위치를 설정하고, 어떤 애노테이션을 스캔 할지 또는 하지 않을.. 2020. 9. 3.
[Section 1] IoC 컨테이너 3부: @Autowired 해당 게시물은 백기선님의 스프링 프레임워크 핵심 기술 강좌를 정리한 내용 입니다. 1. @Autowired - @Autowired는 필요한 의존 객체의 “타입"에 해당하는 빈을 찾아 주입한다. 2. @Autowired의 required - @Autowired의 required는 true가 기본 값이다. 필요한 의존 객체의 타입에 해당하는 빈을 찾지 못하면 애플리케이션 구동에 실패한다. @Service public class BookService { BookRepository bookRepository; @Autowired public void setBookRepository(BookRepository bookRepository) { this.bookRepository = bookRepository; } .. 2020. 9. 3.
[Section 1] IoC 컨테이너 2부: ApplicationContext와 다양한 빈 설정 방법 해당 게시물은 백기선님의 스프링 프레임워크 핵심 기술 강좌를 정리한 내용 입니다. ApplicationContext 빈 설정 파일 - 스프링 IoC 컨테이너는 빈 설정 파일이 필요하다. 빈을 등록(설정)하는 방법과 의존성 주입 1) application.xml에 빈을 등록하는 방법 ① 빈(Bean) 등록 및 의존성 주입 다음과 같이 빈(Bean)으로 등록할 클래스를 작성한다. [BookService.java] public class BookService { // BookService가 BookRepository를 사용한다고 가정 BookRepository bookRepository; public void setBookRepository(BookRepository bookRepository) { this... 2020. 9. 2.