본문 바로가기

전체 글30

[Section 1] IoC 컨테이너 9부: ResourceLoader 해당 게시물은 백기선님의 스프링 프레임워크 핵심 기술 강좌를 정리한 내용 입니다. ResourceLoader - ResourceLoader는 리소스를 읽어오는 기능을 제공하는 인터페이스이다. 1) resources 폴더에 test.txt 파일을 생성 한다. 2) ResourceLoarder 객체를 얻은 다음에 주요 메서드 호출 ResourceLoader의 getResource() : 지정한 리소스의 Resource 객체를 얻는다. Resource의 exists() : 리소스가 존재하는지 확인한다. "" getDescription() : 전체 경로를 포함한 파일 이름 또는 실제 URL ResourceLoader 빈을 주입 받은 다음, Resource 객체를 얻고 해당 객체의 주요 메서드 결과를 출력 한다... 2020. 9. 6.
[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 컨테이너 6부: Environment 2부. 프로퍼티 해당 게시물은 백기선님의 스프링 프레임워크 핵심 기술 강좌를 정리한 내용 입니다. 1. 프로퍼티 - 프로퍼티는 다양한 방법으로 정의할 수 있는 설정 값이다. - Environment의 역할은 프로퍼티 소스 설정 및 프로퍼티 값 가져오기 2. 프로퍼티 설정 방법 1) JVM 시스템 프로퍼티 (-Dkey=“value”) -Dkey=value 형태로 환경 변수를 정의할 수 있다. 예를 들어, -Dapp.name=spring5 으로 설정한 다음, 이 값을 Environment 객체를 통해 받아올 수 있다. @Component public class AppRunner implements ApplicationRunner { @Autowired ApplicationContext ctx; @Autowired BookR.. 2020. 9. 3.
[Section 1] IoC 컨테이너 6부: Environment 1부. 프로파일 해당 게시물은 백기선님의 스프링 프레임워크 핵심 기술 강좌를 정리한 내용 입니다. 1. Environment - Environment는 프로파일과 프로퍼티를 다루는 인터페이스이다. - ApplicationContext는 EnvironmentCapable 인터페이스를 상속 받는다. ApplicationContext extends EnvironmentCapable 그렇기 때문에 ApplicationContext의 getEnvironment()로 Environment 객체를 가져올 수 있다. (EnvironmentCapable로 Environment를 다룰 수 있다.) - Environment의 역할은 활성화 할 프로파일 확인 및 설정 2. 프로파일(Profile) - 프로파일은 특정 실행 환경에서 사용할 빈.. 2020. 9. 3.
[Section 1] IoC 컨테이너 5부: 빈의 스코프(Scope) 해당 게시물은 백기선님의 스프링 프레임워크 핵심 기술 강좌를 정리한 내용 입니다. 1. 빈의 범위(Scope) - 싱글톤은 해당 Bean의 인스턴스를 단 한번만 생성한다. (기본 값) - 프로토타입은 해당 Bean의 인스턴스를 매번 새롭게 생성한다. 프로토타입과 유사한 Scope는 Request, Session, WebSocket 등이 있다. 2. 빈의 범위(Scope) 관련 실습 빈의 Scope에 대해서 알아보기 위해 다음과 같은 실습을 진행 한다. Proto라는 클래스를 작성하고 Bean으로 등록 한다. 그리고 @Scope를 붙여서 prototype으로 지정 한다. @Component @Scope("prototype") public class Proto { } Single이라는 클래스를 작성한 다음,.. 2020. 9. 3.