[Spring] 의존성 주입

2024. 10. 2. 15:03·Spring
목차
  1. 의존성 주입 (DI)
  2. Spring에서 DI를 사용하는 이유

의존성 주입 (DI)

의존성은 어떤 코드가 다른 코드에 의존하는 것을 의미한다. 예를 들어, 클래스 A가 클래스 B를 사용해야 한다면, 클래스 A는 B에 의존하고 있다고 할 수 있다.

 

DI(Dependency Injection)는 이런 의존성을 코드 내에서 직접 생성하는 대신, 외부에서 주입하는 방식으로 해결한다.

 

 

Spring은 다음과 같은  두 가지 방법으로 DI를 지원한다.

 

  • 생성자 주입: 의존성이 필요한 객체를 생성자에서 받아서 주입하는 방식이다. 이 방식은 객체가 생성될 때 필요한 의존성을 미리 설정할 수 있어 더 안전한 방식으로 여겨진다.
  • Setter 주입: 기본 생성자를 호출한 후, 필요할 때 setter를 통해 의존성을 주입하는 방식이다. 이 방법은 유연성을 제공하지만, 객체가 완전하지 않은 상태에서 사용될 수 있다는 단점이 있다.

Spring에서 DI를 사용하는 이유

DI를 사용하면 코드의 유연성과 테스트 용이성이 높아진다.

의존성을 외부에서 주입받기 때문에 코드 간의 결합도를 낮출 수 있고, 변경에 더 강한 구조를 만들 수 있다.

또한 테스트 시 목의 객체(Mock Object)를 사용하여 독립적으로 테스트할 수 있는 장점도 있다.

'Spring' 카테고리의 다른 글

[Spring] DispatcherServlet, ViewResolver , DI 방식 정리  (0) 2024.10.07
[Spring] Spring DI와 비즈니스 로직  (2) 2024.10.06
[Spring] Spring에서의 객체 관리: XML 설정 파일 vs 어노테이션 기반 DI  (4) 2024.10.04
[Spring] 스프링 프레임워크  (1) 2024.10.01
스프링 프레임워크  (0) 2024.08.19
  1. 의존성 주입 (DI)
  2. Spring에서 DI를 사용하는 이유
'Spring' 카테고리의 다른 글
  • [Spring] Spring DI와 비즈니스 로직
  • [Spring] Spring에서의 객체 관리: XML 설정 파일 vs 어노테이션 기반 DI
  • [Spring] 스프링 프레임워크
  • 스프링 프레임워크
yn98
yn98
좌우명 : 여전할 것 인가, 역전할 것 인가? 백엔드 개발자가 되고싶은 역전하고 있는 개발자 꿈나무의 블로그입니다. 개발을 하면서 공부한 것들을 기록합니다. 24.06 ~
  • yn98
    개발 꿈나무
    yn98
  • 전체
    오늘
    어제
    • 분류 전체보기 (131)
      • Python (3)
      • 공부 (7)
      • DB (7)
      • JAVA (24)
      • JSP (9)
      • jQuery (2)
      • HTML (3)
      • Spring (20)
      • 웹 (4)
      • C (1)
      • Git (2)
      • 에러일기 (19)
      • 프로젝트 (6)
      • 책 (21)
        • 멘토씨리즈 자바 (14)
        • 2024 수제비 정보처리기사 (7)
      • 기타 (2)
  • 블로그 메뉴

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

    • GitHub
    • Notion
  • 공지사항

  • 인기 글

  • 태그

    ViewResolver
    @Component
    오블완
    이벤트 스케줄러
    정보처리기사
    @service
    aop
    2-layered 아키텍처
    상속
    수제비
    정처기
    java
    오버로딩
    정보처리기사 실기
    MVC
    Spring
    생성자
    스프링 프레임워크
    객체지향
    @repository
    티스토리챌린지
    recoverabledataaccessexception
    어노테이션
    정처기 실기
    jsp
    멘토씨리즈 자바
    Di
    DispatcherServlet
    codeup 4891 : 행복
    html
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
yn98
[Spring] 의존성 주입

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.