<<스프링 빈(Bean)>>
스프링 빈(Bean)
: Spring IoC 컨테이너가 관리하는 자바 객체 = Bean
- 자바에서 객체를 생성할 때 주로 new를 통해 생성하는데, 이 객체를 의미하는 것이 아니라 컨테이너에서 스스로 생성하고 관리하는 객체를 의미
- 여러번 생성할 필요가 없고, 공용으로 사용할 수 있다.
스프링 빈 등록법
1.Component Scanning
@Controller
public class MemberController {
private final MemberService memberService;
@Autowired
public MemberController(MemberService memberService) {
this.memberService = memberService;
}
}
-@Component 어노테이션이 있으면 Bean이 자동으로 등록된다.
-주로 정형화된 코드에서 활용.(ex.컨트롤러-서비스-리포지토리)
-@Controller, @Service, @Repository는 @Component 어노테이션을 포함하고 있기 때문에 대신하여 사용할 수 있다.
2.직접 빈을 등록
@Configuration
public class SpringConfig {
@Bean
public MemberService memberService() {
return new MemberService(memberRepository());
}
@Bean
public MemberRepository memberRepository() {
return new MemoryMemberRepository();
}
}
-주로 정형화 되지 않거나 상황에 따라 구현 클래스를 변경해야 하는 경우에 사용.
-클래스를 하나 생성하고 @Configuration어노테이션을 붙인다. 그 후 Bean으로 등록할 객체들에 @Bean어노테이션을 직접 등록한다.
'스파르타 부트캠프(spring)' 카테고리의 다른 글
[내일배움캠프] 자바 Spring 입문_Rest API_221222 (0) | 2022.12.22 |
---|---|
[내일배움캠프_Spring] 자바 Spring 입문_테스트코드_221221 (0) | 2022.12.21 |
[내일배움캠프_Spring] 자바 Spring 입문_221219 (0) | 2022.12.19 |
[내일배움캠프_spring] 주간회고 WIL - 6주차 (0) | 2022.12.18 |
[내일배움캠프_Spring] 자바 Spring 입문_221216 (0) | 2022.12.18 |