네, 맞습니다. 요즘은 @Autowired
를 사용하는 대신, 생성자 주입 방식을 사용하는 것이 더 권장되는 방법입니다. 그리고 @RequiredArgsConstructor
를 활용하면, final
로 선언된 필드에 대해 자동으로 생성자를 만들어주므로 더욱 간결하고 안전한 코드를 작성할 수 있습니다.
@Autowired
대신 생성자 주입을 사용할까?final
키워드를 사용하여 필드를 불변으로 만들 수 있습니다. 이로 인해 객체가 생성된 후 해당 필드가 변경될 수 없으므로, 코드의 안정성이 높아집니다.@Autowired
는 스프링 컨테이너를 필요로 하지만, 생성자 주입은 테스트 시에 더 유연하게 사용할 수 있습니다.@Autowired
는 순환 참조를 런타임에야 발견할 수 있습니다.@RequiredArgsConstructor
를 사용하는 방식@RequiredArgsConstructor
는 롬복(Lombok)을 활용해 final
필드에 대해 생성자를 자동으로 생성해주는 어노테이션입니다. 이 방식은 코드의 가독성을 높이고, 생성자 주입의 장점을 유지할 수 있습니다.
@RequiredArgsConstructor
를 사용하면 생성자 주입을 위한 생성자를 직접 작성할 필요 없이 final
로 선언된 필드에 대해 자동으로 생성자가 만들어집니다.final
필드를 사용하여 의존성을 주입하면, 런타임 동안 필드를 변경할 수 없게 되어 더 안정적이고 신뢰할 수 있는 코드가 됩니다.