728x90
이전 시간에는 컴포넌트스캔을 통해
Controller, Service, Repository를 spring bean에 등록하고,Autowired를 통해 연결했다.
이번시간에는 코드로 직접 스프링 빈을 등록 해 볼 예정이다.
📚 직접 spring bean 등록
1️⃣SpringConfig 클래스 생성 후 @Configuration 어노테이션 추가해준다.
@Configuration : 설정파일을 만들거나 Bean을 등록하는 어노테이션이다.
public class SpringConfig {
}
2️⃣ MemberService를 spring bean에 등록
@Bean
public MemberService memberService() {
return new MemberService(memberRepository());
}
이렇게 작성하게 되면 @Configuration에서 @Bean을 읽고 spring bean에 등록을 해야겠다! 라고 인식을 할 것이고
return값을 통해 받은 MemberService를 spiring bean에 등록 해 줄 것이다.
3️⃣ MemberRepository도 spring bean에 등록
@Bean
public MemberRepository memberRepository(){
return new MemoryMemberRepository();
}
MemberRepository라는 인터페이스를 선언하고
MemoryMemberRepositroy라는 구현체가 MemberRepository를 상속받아서 필요한 기능을 구현하기로 했다.
따라서 return 값으로 MemoryMemberRepositroy를 전달한다.
❗ 전체 코드
@Configuration
public class SpringConfig {
@Bean
public MemberService memberService() {
return new MemberService(memberRepository());
}
@Bean
public MemberRepository memberRepository(){
return new MemoryMemberRepository();
}
}
@Bean 어노테이션을 보고 MemberService와 MemberRepository를 spring bean에 등록한다.
동시에 생성자 밑의 memberRepository() 메서드를 호출하여, spring bean으로 등록되어 있는 MemberRepository를 연결해준다.
728x90
'ON > 실습' 카테고리의 다른 글
[Spring Boot] 스프링 DB 접근 기술 - 순수 JDBC 와 JdbcTemplate (0) | 2023.11.27 |
---|---|
[Spring Boot] 회원 관리 예제 - 웹 MVC 개발 ① (0) | 2023.11.24 |
[Spring Boot] 스프링 빈과 의존관계 - 컴포넌트 스캔과 자동 의존관계 설정 ① (0) | 2023.11.20 |
[Spring Boot] 회원관리 예제 - 회원 서비스 테스트 ⑤ (0) | 2023.11.17 |
[Spring Boot] 회원관리 예제 - 회원 서비스 개발 ④ (0) | 2023.11.13 |