@Controller: 스프링 컨테이너가 controller생성하여 관리해준다.

@Autowired를 사용하면 컨테이너가 자동으로 memberservice를 생성해서 관리해준다.
but 빨간줄이 뜨고, 오류가 나는 이유는?

-> memberService 클래스는 순수한 자바 코드 -> spring이 알 방법이 없음 -> @Service 어노테이션 사용!




스프링 빈을 등록하는 2가지 방법
1. 컴포넌트 스캔과 자동 의존관계 설정 -> 주로 이 방법 사용
2. 자바 코드로 직접 스프링 빈 등록하기
1. 컴포넌트 스캔과 자동 의존관계 설정
- @Component 어노테이션이 있으면 스프링 빈으로 자동 등록된다.
- @Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 떄문이다.
- @Component 를 포함하는 다음 어노테이션도 스프링 빈으로 자동 등록된다.
- @Comtroller
- @Service
- @Repositort
2. 자바 코드로 직접 스프링 빈 등록하기 -> 추후 설명

@Configuration
public class SpringConfig {
@Bean
public MemberService memberService() {
return new MemberService(memberRepository());
}
@Bean
public MemberRepository memberRepository() {
return new MemoryMemberRepository();
}
}
장점: 데이터베이스 변경 시 config파일만 변경하면 된다.
참고

@SpringBootApplication하위 패키지에서만 @ 어노테이션을 사용할 수 있다.
위의 경우만 컴포넌트 스캔의 대상이 된다.

-> Singeton
'Android Studio > ReviewMate' 카테고리의 다른 글
| [스프링 입문]Member Service 개발 & Service 테스트 (0) | 2024.01.09 |
|---|---|
| [Android Studio/Kotlin] 영화 스크롤해서 다음페이지보여주기 (0) | 2023.12.06 |
| [Android Studio/Kotlin] Transaction시 메세지 전달 방법 (0) | 2023.12.06 |
| [Android Studio/Kotlin 공부]Fragment에서 Fragment로 이동 (0) | 2023.12.06 |
| [Android Studio/Kotlin 공부] Calendar (1) | 2023.12.06 |