본문 바로가기

bean2

[Spring] @Bean vs @Component 무엇이 다를까? 스프링을 이용하여 개발을 하면 instance를 bean으로 등록하고, 등록된 bean을 자주 사용하게 됩니다. 그런데 bean으로 등록하는 방법을 여려가지가 있는데요. 그중에 @Bean을 이용하는 방법과 @Componnt를 이용하는 방법이 흔히 사용됩니다. 그런데 이 두 방법은 어떤 차이가 있을까요? @Bean? 우선 @Bean에 대해 살펴보겠습니다. 위의 사지은 Bean interface의 코드를 캡처한 사진입니다. 우선 @Target부분을 살펴보면 적용 가능한 부분이 메서드 선언 부분과, 어노테이션 선언 부분입니다. @Target의 ElementType에 관한 설명은 링크를 참조해 주세요. @Component 이번엔 @Compontnt를 살펴보겠습니다. TYPE에 선언 가능하다고 정의되어 있는데 T.. 2020. 12. 25.
[Spring] auto DI, 생성자 주입 방식(Construct Injection) 스프링이다 스프링 부트를 이용해서 개발을 할 때 의존성 주입(DI-Dependency Injection)을 자주 사용하게 됩니다. 이때 보통 @Autowired을 이용해서 의존성 주입(DI)을 합니다. 스프링에서 지원해주는 자동 injection은 3가지 방식이 있습니다. 필드 injection setter injection 생성자 injection 각각을 간단한 코드로 먼저 살펴보겠습니다. 회원(Member)을 관리하는 service에서 DB 접근 로직이 있는 회원 repository(MemberRepository)를 DI를 통해 사용한다는 가정으로 소스를 작성해 보겠습니다. field injection(필드 injection) 필드 injection은 class에 선언한 필드에 @Autowired를 .. 2020. 1. 29.