Springboot 4주차 개발일지

이동규·2023년 6월 10일

Springboot 기초

목록 보기
4/13

스프링(Spring Bean)이란?

Spring IOC 컨테이너가 관리하는 객체를 빈(Bean)이라고 부른다.

제어의 역전(IOC, Invension of Control) 일반적으로 처음에 배우는 자바 프로그램에서는 각 객체들이 프로그램의 흐름을 각 객체를 생성하고 조작하는 작업(객체를 직접 생성하여 메소드를 호출), 즉 모든 작업을 사용자가 제어하는 구조였다.하지만 IOC, 객체 생성을 특별한 관리 위임 주체에게 맡긴다.즉 사용자는 객체를 생성하지 않고 객체를 생명을 컨트롤하는 주체는 다른주체가 된다. Spring에 의해 생성되고 관리되는 객체를 Bean이라고 한다.

Annotation이란

사전적인 의미는 주석이라는 뜻이다. 특별한 의미,기능을 수행하도록 하는 기술이다.

Bean을 등록하는 @Componant을 사용한다. Spring이 Anonotation을 확인하고 자체적으로 Bean으로 등록한다.

@Configuration 이라고 하면 설정파일을 만들기 위한 것 혹은 Bean을 등록하기 위한 이노테이션이다. 그다음 @Bean이 있는 메소드를 찾아서 빈을 생성한다.

Bean과 Componant 차이

Bean은 메소드레벨에서 선언이 되며 , 반환되는 값을 수동으로 빈으로 등록하는 이노테이션이다. 이 메소드가 반환하는 객체가 bean이 되며 default로 메소드 이름이 bean의 이름이 된다.

Componant는 클래스 레벨에서 선언함 스프링이 런타임시 컴포넌트 스캔을 하여 자동으로 빈을 찾고 등록하는 이노테이션 클래스이름이 bean의 이름이 된다.

0개의 댓글