
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 |