필드 주입생성자 주입setter 주입 1. 필드 주입 (@Autowired 사용)@Servicepublic class MyService { @Autowired private MyRepository myRepository; public String getData() { return myRepository.fetch(); }} 장점코드가 간결하다.단점final 키워드 사용 불가 (불변성 떨어짐).테스트 시 mock 객체 주입이 어렵다. (테스트 어려움)순환 참조 문제를 컴파일 타임에 잡기 힘듦. 2. 생성자 주입@Servicepublic class MyService { private final MyRepository myRepository; // 생성자 하나 →..