inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[인프런 워밍업 클럽 스터디] 6일차 - 스프링 컨테이너의 의미와 사용 방법

Lynn
0

image

[정리] Section 3. 역할의 분리와 스프링 컨테이너

  1. 좋은 코드가 왜 중요한지 이해하고, 원래 있던 Controller 코드를 보다 좋은 코드로 리팩토링 한다.

  2. 스프링 컨테이너와 스프링 빈이 무엇인지 이해한다.

  3. 스프링 컨테이너가 왜 필요한지, 좋은 코드와 어떻게 연관이 있는지 이해한다.

  4. 스프링 빈을 다루는 여러 방법을 이해한다.

     


 

클래스 : 객체를 정의해놓은 설계도. 객체를 생성하기 위해 사용된다.

객체 : 클래스에 정의된 내용이 인스턴스화되어 실제로 생성된 것. 설계도를 통해 만들어진 집.

인스턴스(화) : 클래스를 실제로 사용할 수 있도록 생성하는 것.

 

스프링 빈 (UserController에 @RestController를 붙여줌으로써 스프링 빈이 됨)

 

서버가 시작되면 일어나는 일

  1. 스프링 컨테이너(클래스 저장소)가 시작된다.

  2. 기본적으로 많은 스프링 빈들이 등록된다.

  3. 우리가 설정해 준 스프링 빈이 등록된다.

  4. 이 때 필요한 의존성이 자동으로 설정된다.

 

스프링 빈을 등록하는 방법

@Configuration

@Service - @Repository 사용할 때

알아볼 어노테이션

@Component

@Qualifier

 

스프링 빈을 가져오는 방법

  1. (가장 권장) 생성자를 이용해 주입받는 방식 : @Autowired 생략 가능

  2. setter와 @Autowired 사용 : 누군가 setter를 사용하면 오작동 할 수 있다.

  3. 필드에 직접 @Autowired 사용 : 테스트를 어렵게 만드는 요인이다.

 

 

 

참고자료 : https://mihee0703.tistory.com/182

 

백엔드 워밍업클럽스터디 백엔드 자바 스프링부트

답변 0