🌱 오늘의 주제 : 스프링 빈(Spring Bean)이란?
🌱 스프링 빈(Spring Bean)
- Spring IoC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라고 부릅니다.
- 우리가 new 연산자로 어떤 객체를 생성했을 때 그 객체는 빈이 아니다.
- ApplicationContext.getBean()으로 얻어질 수 있는 객체는 빈이다.
- 즉 Spring에서의 빈은 ApplicationContext가 알고있는 객체, 즉 ApplicationContext가 만들어서 그 안에 담고있는 객체를 의미한다.
🌱 Spring Bean을 Spring IoC Container에 등록하는 방법
- Component Scan
- 직접 자바로 등록하기
🌱 Component Scan
- Component Scan은 anotation인 @Component를 명시하여 Bean에 추가하는 방법입니다.
- 위 anotation을 들어가 확인해보면 모두 @Component가 있음을 확인할 수 있습니다.
- 결론적으로 해당 anotation을 확인하면 바로 Spring의 Bean으로 포함되어 객체를 사용할 수 있게 됩니다
🌱Java Code로 등록하기
- 클래스를 생성하고 anotaiton @Configuration와 @Bean을 사용하여 직접 자바로 넣어줄 수 있습니다.
- class위에 @Configuration를 붙여주고, 메소드에 @Bean을 붙여주어 구현하면 됩니다.
- 이때 메소드에서 Return되는 객체가 Spring Bean에 등록됩니다.
- 이 때 @Configuration anotation에는 @Component가 있습니다.
🌱 Spring Bean 사용 예시
- 대표적인 사용으로 DI(Dependency Injection)에서 활용됩니다.
- Bean을 사용하면 동일한 역할을 수행하는 객체를 여러개 만들지 않아도 되는 장점이 있습니다.
- @Autowired anotation을 사용하여! Bean에 등록된 객체를 사용할 수 있습니다.
- 생성자에서 사용하기
- 설정자에서 사용하기
- 필드에서 사용하기
위 처럼 파라미터로 객체를 받는다면 Bean에서 파라미터에 해당하는 Class의 객체를 받아와 사용하게 됩니다.
'Spring' 카테고리의 다른 글
Spring - 요청/응답 Life Cycle , 어노테이션(Annotation) 종류, JSP View 연동하기 (0) | 2023.04.10 |
---|---|
Spring - 동작 방식 (0) | 2023.04.10 |
Spring - Java (Method) (0) | 2022.12.14 |
Spring - MVC 패턴이란? (Model-View-Controller) (0) | 2022.12.12 |
SQL 이란? (0) | 2022.12.08 |