[ Spring ] 스프링 의존성 관리

2021. 8. 27. 19:54·Archive/Develop
728x90
반응형

 

스프링 프레임워크를 공부하며, 컨테이너가 자동으로 관리해주는 것이 강력한 특징이라는 것을 알아가고 있다.

 

객체의 생성과 의존관계를 컨테이너가 자동을 관리해주는 것, 이게 바로 스프링 IoC의 핵심 원리이다.

 

 

 

스프링이 지원하는 IoC의 형태

 

  • Dependency Lookup
  • Dependency Injection

 

 

Dependency Lookup

 

: 컨테이너가 애플리케이션 운용에 필요한 객체를 생성하고

클라이언트는 컨테이너가 생성한 객체를 검색(Lookup) 하여 사용하는 방식

 

 

Dependency Injection

 

: 객체 사이의 의존관계를 스프링 설정 파일에 등록된 정보를 바탕으로 컨테이너가 자동으로 처리하는 방식.

 

따라서 의존성 설정을 바꾸고 싶을 때 코드가 아닌 스프링의 설정파일을 수정해야한다.

이러한 방식은 향후 유지보수가 용이해지는데 한 몫 한다.

 

 

Dependency Injection 은 컨테이너가 직접 객체들 사이의 의존관계를 처리하는 것.

 

 

Dependency Injection 은 다시 두가지로 나뉜다.

 

  • Setter Injection
  • Constructor Injection

 

 

 

위 설명에서, 의존 관계라는 단어를 사용했다.

 

과연 이 의존관계라는 것은 무엇인가?

 

 

의존(Dependency)관계는 객체와 객체 간의 결합 관계이다.

 

 

 

Setter Injection

 

이름에서도 알 수 있듯이 Setter 메소드를 호출하여 의존성 주입을 처리하는 방법이다.

멤버 변수를 원하는 값으로 설정하는 것을 목적으로 하고 있는데,

주로 Constructor Injection 보다는 Setter Injection을 사용하며,

Setter 메소드가 제공되지 않는 클래스에 대해서만 생성자 인젝션을 사용한다.

 

 

 

 

 

 

 

 

728x90
반응형

'Archive > Develop' 카테고리의 다른 글

[ Django ] SNS 서비스에 태그 기능을 추가해보자! | django taggit 설치/사용법 (1)  (0) 2021.09.01
[ Spring ] @Component 를 상속하는 어노테이션  (0) 2021.08.27
[ Spring ] 스프링 컨테이너 - ApplicationContext  (0) 2021.08.27
[ Spring ] POJO(Plain Old Java Object) 란 무엇인가?  (0) 2021.08.27
[ Socket Programming ] 소켓 프로그래밍 컴파일 시 Dev C++ 에서 발생하는 에러 해결  (0) 2021.08.27
'Archive/Develop' 카테고리의 다른 글
  • [ Django ] SNS 서비스에 태그 기능을 추가해보자! | django taggit 설치/사용법 (1)
  • [ Spring ] @Component 를 상속하는 어노테이션
  • [ Spring ] 스프링 컨테이너 - ApplicationContext
  • [ Spring ] POJO(Plain Old Java Object) 란 무엇인가?
코뮤(commu)
코뮤(commu)
코딩으로 커뮤니케이션하는 코뮤입니다 😎
  • 코뮤(commu)
    코뮤(COMMU)
    코뮤(commu)
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Archive
        • Hacking
        • Develop
        • ETC
      • Algorithm
      • DB&Infra
      • ETC
      • Node
  • 블로그 메뉴

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

    • IT지식보따리
    • IT가 맛있다
    • IT 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

    Codeup
    C++
    파이썬 문제
    파이썬 백준
    파이썬 기초
    코드업
    Python
    코드업 기초
    비박스
    오라클
    파이썬 알고리즘
    백준 파이썬
    자바스크립트 API
    보안뉴스
    docker
    자바스크립트 객체
    Git
    파이썬 기초 문제
    백준 풀이
    oracle db
    javascript
    장고
    카카오 100일 프로젝트
    파이썬
    백준 문제풀이
    백준
    코드업 파이썬 기초 100제
    자바스크립트
    Django
    Oracle
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코뮤(commu)
[ Spring ] 스프링 의존성 관리
상단으로

티스토리툴바