-
2021-7-5 목표 | 컴포넌트 스캔, DI, 스프링 빈 등록하기일일공부계획 2021. 7. 5. 20:01728x90
오늘은 스프링 입문 강의를 들을 것이다
1. 컴포넌트 스캔과 자동 의존관계 설정
컴포넌트 스캔
@Controller, @Service, @Repository 클래스를 선언할 때 기입을 해 주면
스프링 빈에 자동으로 등록된다
의존관계 (Dependency Injection)
Controller에서 Service를 사용하기 위해
Controller 생성자에 @Autowired 를 기입해 주면 Service 객체를 스프링 빈에서 가져온다
마찬가지로 Service 에서 Repository 를 사용하기 위해
Service 생성자에 @Autowired 를 기입하면 Repository 객체를 스프링 빈에서 가져온다
이를 외부에서 주입했다고 하여 의존관계라고 한다
어노테이션(@) 적용 범위
HelloSpringApplication 을 실행시키는 거라면
기본적으로 이 파일의 동일한 위치이거나 하위의 파일에 대해서만 @ 정보를 읽을 수 있다
2. 자바 코드로 직접 스프링 빈 등록하기
컴포넌트 스캔 방식이 아닌 직접 스프링 빈에 등록하여 @Autowired 를 사용하는 방식도 있다
단 Controller는 컴포넌트 방식으로 선언을 하고
Service, Repository에서 각각 @Service, @Repository를 지워보겠다
그 후 StringConfig 클래스를 생성한다
StringConfig의 코드는 아래와 같다
@Configuration public class StringConfig { @Bean public MemberService memberService() { return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } }
@Configuration으로 선언을 하고
Service, Repository의 객체 선언문에는 @Bean을 입력하여 스프링 빈에 직접 등록시켜 준다
Service 에는 Repository객체를 생성하는 함수를 파라미터로 사용한다
3. 회원 웹 기능 - 홈 화면 추가
4. 회원 웹 기능 - 등록
5. 회원 웹 기능 - 조회
728x90728x90'일일공부계획' 카테고리의 다른 글
2021-7-7 H2 Database 사용법 (0) 2021.07.07 2021-7-6 (0) 2021.07.06