@Autowired를 사용한 수정자 주입

  • 특징:
    • Spring Framework의 의존성 주입 방법 중 하나입니다.
    • 유연성이 높고 선택적인 의존성 처리가 가능합니다.
    • 객체 생성 후에도 의존성을 변경할 수 있습니다.
  • 예시:
    public class MyClass {
        @Autowired
        private SomeDependency dependency;
    }

@AllArgsConstructor와 private final을 사용한 생성자 주입

  • 특징:

    • Lombok 라이브러리의 기능으로 생성자를 자동으로 생성합니다.
    • 모든 필드를 파라미터로 받는 생성자를 만들어줍니다.
    • 객체의 불변성을 높입니다.
  • 예시:

    import lombok.AllArgsConstructor;
    
    @AllArgsConstructor
    public class MyClass {
        private final SomeDependency dependency;
    }

선택 시 고려 사항

  • @Autowired를 사용한 수정자 주입:

    • 유연성과 선택적인 의존성 처리가 필요한 경우에 적합합니다.
    • 객체 생성 후에도 의존성을 변경해야 할 때 유용합니다.
  • @AllArgsConstructor와 private final을 사용한 생성자 주입:

    • 생성자는 한번만 호출이 가능하기 때문에 불변성과 안정성을 유지하고 싶을 때 적합합니다.
    • 한 번 생성된 객체를 변경할 수 없도록 보장하고 싶을 때 유용합니다.

선택 방법

  • 프로젝트 요구사항과 설계 목표에 따라 선택하면 됩니다.
  • 때에 따라 두 가지 방법을 혼합하여 사용하기도 하며, 일부 필드는 생성자로 주입하고 일부는 수정자 주입으로 처리하는 등의 방식으로 유연하게 활용 가능합니다.
profile
책읽는 달팽이 || 공학도에서 개발자로! || 결국 과거의 흐름을 이해했을 때 지금의 것들을 통찰력있게 바라볼 수 있다고 믿습니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN