Spring 의존성 주입

2023. 4. 30. 01:37·Spring Boot

Restaurant 에 요리사 없으면 안되니,  Restaurant  → Chef에게 의존한다.

코딩은 컴퓨터 없이 안된다.

코딩 → 컴퓨터

Restaurant에 Chef 객체가 필요함

Chef chef = new Chef( );

 

Coding에 Computer 객체가 필요함

Computer com = new Computer( );

의존성이 매우 딴딴해 유연한 개발이 힘들다.

 

그래서 우리는 Spring에게 요청한다. 이제 Spring이 Computer를 알게끔 인식을 해줘야한다.

어노테이션을 해줘야 한다.

@Component // 해당 객체를 Spring에서 관리하도록 설정

@Autowired // 필드 주입(방법1)

 

private Computer computer;
@Autowired
// 굉장히 편하게 주입 할 수 있다.
// 다른 곳 에서 바로 변형이 가능하기 때문에 값이 변경 될 수 있는 심각한 문제가 생길 수 있다. 
상수(final)가 아닌 변수라서 변형이 일어 날 수 있다.

 

@Data // getter, setter, toString, hashcode 자동 재정의
@NoArgsConstructor // 기본 생성자
@SpringBootTest // 단위 테스트 어플리케이션

 

 

@Data
@Component
public class Chef {

}
@Component // 해당 객체를 Spring에서 관리하도록 설정
@Data // getter, setter, toString, hashcode 재정의
@RequiredArgsConstructor // final 또는 @NonNUll 이 붙은 친구들만 초기화 시켜 줌
public class Restaurant {
    private final Chef chef;
}

 

'Spring Boot' 카테고리의 다른 글

JPA 단 방향(연관 관계)  (0) 2023.06.27
Get, Post, Redirect  (1) 2023.05.02
타임리프(Timeleaf)  (2) 2023.05.01
MVC 2  (1) 2023.05.01
JAVA Spring 프레임워크 란?  (1) 2023.04.29
'Spring Boot' 카테고리의 다른 글
  • Get, Post, Redirect
  • 타임리프(Timeleaf)
  • MVC 2
  • JAVA Spring 프레임워크 란?
JAVALA
JAVALA
워니‘s Diary
  • JAVALA
    정신줄 JAVA라
    JAVALA
  • 전체
    오늘
    어제
    • 분류 전체보기 (87)
      • Codding_Test (11)
        • BaekJoon (7)
        • Programmers (3)
      • Algorithm (11)
      • Daily (4)
        • memoir (4)
      • TroubleShooting (8)
        • InteliJ (1)
        • Server (1)
        • Infra (0)
        • DB (0)
      • Computer Science (1)
      • JAVA (8)
      • Javascript (0)
      • Spring Boot (7)
      • API (2)
      • Server (0)
      • DB (3)
        • ORACLE (1)
      • Infra (2)
      • Refactoring (1)
      • Plugin (1)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    spring boot
    트리 자료구조
    개발자
    개발자 국비
    백엔드 개발자
    백준
    개발자 부트캠프
    자바 알고리즘
    개발자 비전공자
    자바 스프링
    스프링부트
    자바 클래스
    springboot
    자바
    자바 스프링부트
    프론트엔드 개발자
    제로베이스
    코딩테스트
    자바 메소드
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JAVALA
Spring 의존성 주입
상단으로

티스토리툴바