본문 바로가기

전체 글30

[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.
[Section 1] IoC 컨테이너 1부: 스프링 IoC 컨테이너와 빈 해당 게시물은 백기선님의 스프링 프레임워크 핵심 기술 강좌를 정리한 내용 입니다. 역제어 (IoC : Inversion of Control) - 역제어(IoC)는 의존성 주입(Dependency Injection)이라고도 하며, 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입 받아 사용하는 방법을 말한다. - 의존 객체를 직접 만들어 사용하는 예시 BookRepository bookRepository = new BookRepository(); BookService service = new BookService(bookRepository); - IoC의 예시 @Autowired BookRepository bookRepository; BookService service = new Bo.. 2020. 9. 1.
[Section 0] 스프링 소개 해당 게시물은 백기선님의 스프링 프레임워크 핵심 기술 강좌를 정리한 내용 입니다. 스프링 소개 스프링 이란? - 스프링은 “소규모 애플리케이션 또는 기업용 애플리케이션을 자바로 개발하는데 있어 유용하고 편리한 기능을 제공하는 프레임워크"이다. - 해당 강좌에서는 스프링 프레임워크 그 자체를 다룬다. 스프링의 역사 - 2003년 등장 - 최근까지 주로 서블릿 기반 애플리케이션을 만들 때 사용해 옴. - 스프링 5부터는 WebFlux 지원으로 서블릿 기반이 아닌 서버 애플리케이션도 개발할 수 있게 됨. 스프링의 디자인 철학 - 모든 선택은 개발자의 몫. - 다양한 관점을 지향한다. - 하위 호환성을 지킨다. - API를 신중하게 설계 한다. - 높은 수준의 코드를 지향한다. 2020. 9. 1.
자바의 정석 (Chapter 12. 제네릭, 열거형, 애노테이션) 해당 게시물은 자바의 정석을 정리한 내용 입니다. 1. 제네릭(Generic) 1.1 제네릭? 제네릭의 정의 - 제네릭(Generic)은 컴파일 시 타입을 체크 해 주는 기능이다. - 또는 타입을 파라미터화 해서 컴파일 시 구체적인 타입이 결정 되도록 하는 것이다. 제네릭의 장점 - 객체의 타입 안정성을 높인다. ※ "타입 안정성을 높인다"는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환 되어 발생할 수 있는 오류를 줄여준다는 뜻이다. - 형 변환의 번거로움을 줄여준다. 1.2 제네릭 클래스의 선언 - 제네릭 클래스를 작성할 때, Object 타입 대신 타입 매개변수(E)를 선언해서 사용한다. ① 예를 들어, ArrayList 클.. 2020. 8. 28.