[내일배움캠프_Spring] 자바 Spring 입문_221220

2022. 12. 21. 00:17·스파르타 부트캠프(spring)

<<스프링 빈(Bean)>>

스프링 빈(Bean)

: Spring IoC 컨테이너가 관리하는 자바 객체 = Bean

  • 자바에서 객체를 생성할 때 주로 new를 통해 생성하는데, 이 객체를 의미하는 것이 아니라 컨테이너에서 스스로 생성하고 관리하는 객체를 의미
  • 여러번 생성할 필요가 없고, 공용으로 사용할 수 있다.

스프링 빈 등록법

1.Component Scanning

@Controller
public class MemberController {

    private final MemberService memberService;

    @Autowired
    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }
}

   -@Component 어노테이션이 있으면 Bean이 자동으로 등록된다. 
   -주로 정형화된 코드에서 활용.(ex.컨트롤러-서비스-리포지토리)
   -@Controller, @Service, @Repository는 @Component 어노테이션을 포함하고 있기 때문에 대신하여 사용할 수 있다.

 

 

2.직접 빈을 등록

@Configuration
public class SpringConfig {

    @Bean
    public MemberService memberService() {
        return new MemberService(memberRepository());
    }

    @Bean
    public MemberRepository memberRepository() {
        return new MemoryMemberRepository();
    }
}


-주로 정형화 되지 않거나 상황에 따라 구현 클래스를 변경해야 하는 경우에 사용.
-클래스를 하나 생성하고 @Configuration어노테이션을 붙인다. 그 후 Bean으로 등록할 객체들에 @Bean어노테이션을 직접 등록한다.

'스파르타 부트캠프(spring)' 카테고리의 다른 글

[내일배움캠프] 자바 Spring 입문_Rest API_221222  (0) 2022.12.22
[내일배움캠프_Spring] 자바 Spring 입문_테스트코드_221221  (0) 2022.12.21
[내일배움캠프_Spring] 자바 Spring 입문_221219  (0) 2022.12.19
[내일배움캠프_spring] 주간회고 WIL - 6주차  (0) 2022.12.18
[내일배움캠프_Spring] 자바 Spring 입문_221216  (0) 2022.12.18
'스파르타 부트캠프(spring)' 카테고리의 다른 글
  • [내일배움캠프] 자바 Spring 입문_Rest API_221222
  • [내일배움캠프_Spring] 자바 Spring 입문_테스트코드_221221
  • [내일배움캠프_Spring] 자바 Spring 입문_221219
  • [내일배움캠프_spring] 주간회고 WIL - 6주차
yeah구리
yeah구리
백엔드를 공부하는 초심자입니다.
  • yeah구리
    개발일지_헤맨만큼 내땅이다
    yeah구리
  • 전체
    오늘
    어제
    • 분류 전체보기 (114)
      • 스파르타 부트캠프(spring) (75)
      • 스파르타 기술면접 (10)
      • 코딩연습 (0)
      • 항해 (10)
      • 개발일지 (4)
        • 개인 회고 (1)
        • 개발로그 (실무) (2)
      • 공부노트 (0)
      • 코딩테스트 (0)
        • 프로그래머스 (0)
        • 백준 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    비전공개발자 #개발로그 #커리어
    X(Twitter) API #캐싱 #트러블슈팅 #개발
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
yeah구리
[내일배움캠프_Spring] 자바 Spring 입문_221220
상단으로

티스토리툴바