ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2021-7-5 목표 | 컴포넌트 스캔, DI, 스프링 빈 등록하기
    일일공부계획 2021. 7. 5. 20:01
    728x90
    728x90

    오늘은 스프링 입문 강의를 들을 것이다

     

    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. 회원 웹 기능 - 조회

     

    728x90
    728x90

    '일일공부계획' 카테고리의 다른 글

    2021-7-7 H2 Database 사용법  (0) 2021.07.07
    2021-7-6  (0) 2021.07.06
Designed by Tistory.