기술없는 기술 블로그 RSS 태그 관리 글쓰기 방명록
2021-12-30 20:59:47

 

 

책을 읽으면서 @Autowired @Repository 등의 어노테이션을 보면서 기존 Java bean과 차이가 무엇인지 궁금해 해당 어노테이션의 의미, 기능, 원리 등을 검색 해보면 스프링의 DI(의존성 주입)를 위해 IoC컨테이너가 관리하는 객체라고 설명하면서 여러가지 설명을 하고있다.

 

자바 빈은 private 필드, 전달 인자가 없는 생성자, getter와 setter로만 접근, 관리하는 자바 객체이고

스프링 빈은 스프링 IoC컨테이너에서 관리되는 자바 객체를 스프링 빈이라고 부른다.

 

스프링 IoC컨테이너에 자바 객체를 빈으로 등록하기 위해서는 @Bean 혹은 @Component를 사용할 수 있다.

 

@Bean과 @Component의 차이는 이동욱님의 블로그에서 확인 할 수 있었다.

 

@Bean은 메소드 레벨에서 반환되는 객체(인스턴스)를 개발자가 수동으로 빈에 등록되게 하는 어노테이션,

@Component는 클래스 레벨에서 스프링이 자동으로 빈을 찾고 등록하는 어노테이션이다. @Repository @Controller @Service 어노테이션은 MVC패턴을 위해 스프링에서 관리하는 어노테이션이다.

 

https://jojoldu.tistory.com/27

 

@Bean vs @Component

Spring으로 개발을 하다보면 @Bean과 @Component를 언제 써야할지 헷갈릴때가 있다. 둘다 목적이 명확하지 않은 Bean을 생성할때 사용하는 어노테이션인데 왜 2개로 나누어져있나 궁금했었는데, 박재성

jojoldu.tistory.com

 

https://baek-kim-dev.site/64#recentEntries

 

[카카오 면접] @Service,@Controller,@Component 차이

카카오 면접을 준비하면서, 공부했던 내용을 정리해놓고 다시 기억하기 위한 포스팅 @Component Spring에서 관리되는 객체임을 표시하기 위해 사용하는 가장 기본적인 annotation이다. 즉, scan-auto-detect

baek-kim-dev.site