본문 바로가기
Spring/스프링 입문

[스프링 입문] 4 - (2) 자바 코드로 직접 스프링 빈 등록하기

by Poorm 푸름 2023. 8. 5.

[자바 코드로 직접 스프링 빈 등록하기]

 

1.이전의 컴포넌트 스캔 설정 삭제 

 

- MemberController 클래스 제외한 나머지만 삭제

- MemberService 클래스에서 @Service, @Autowired 삭제

- MemoryMemberRepository 클래스에서 @Repository 삭제

 

2.직접 코드짜기

 

src - main - java - hello.hellospring - service 우클릭 → New - Java Class →  SpringConfig 입력 

강의자료 코드 붙여넣기 

 

 

☞ @Congifuration : 스프링 빈에 등록하라는 명령을 인식

 

☞ @Bean : 아래의 코드를 빈에 등록

 

 public MemberService memberService() : memberService 빈에 등록         

 

return new MemberService(memberRepository()

  : 괄호 안에 memberRepository()를 넣어줌으로서 서로 연결

    (@Autowired 와 비슷한 방법)

 

 

☞ @Bean 

     public MemberRepository memberRepository() {         

            return new MemoryMemberRepository() }

  :  memberRepository 를 빈에 등록

 

 

< DI Dependency Injection 방법 >

 

1. 생성자 주입

: 생성자를 통해 memberService가 컨트롤러에 들어오는 것 (젤 좋음)

 

생성자 주입 예시

 

2. 필드 주입 

: 필드에 바로@Autowired를 달아 주입하는 것 (별로 안좋음)

 

필드 주입 예시

3.Setter 주입

: Setter (Fn + Alt + Insert) 통해 불러오기 (별로 안좋음)

 

Setter 주입 예시

 

 

 

[출처] 김영한 강사님 인프런 스프링 입문 

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세

www.inflearn.com