@Autowired
-
의존성 주입을 할때 대표적인게 @Autowired 어노테이션을 사용하거나 클래스의 생성자 주입을 사용한다. ✅ @Autowired vs 생성자 주입 – 차이점 요약항목@Autowired 주입생성자 주입주입 방식필드나 메서드에 @Autowired 설정생성자를 통해 주입불변성객체 필드가 final 이 될 수 없음final 키워드로 인해 불변 보장 가능테스트 용이성Mock 주입 어려움(리플렉션 필요)테스트 시 생성자 인자만 넘기면 됨Null SafetyNPE 발생 가능성이 존재객체 생성 시 반드시 주입되므로 안전순환 참조감지 어려움컴파일 단계에서 일부 감지 가능권장 여부(Spring 공식)과거에 많이 사용Spring 팀에서 권장하는 방식 ✅ 왜 생성자 주입이 "귀찮게" 느껴질까? 생성자 주입을 해놓은 ..
Spring @Autowired 주입과 생성자 주입 차이 그리고 파라미터 주입의존성 주입을 할때 대표적인게 @Autowired 어노테이션을 사용하거나 클래스의 생성자 주입을 사용한다. ✅ @Autowired vs 생성자 주입 – 차이점 요약항목@Autowired 주입생성자 주입주입 방식필드나 메서드에 @Autowired 설정생성자를 통해 주입불변성객체 필드가 final 이 될 수 없음final 키워드로 인해 불변 보장 가능테스트 용이성Mock 주입 어려움(리플렉션 필요)테스트 시 생성자 인자만 넘기면 됨Null SafetyNPE 발생 가능성이 존재객체 생성 시 반드시 주입되므로 안전순환 참조감지 어려움컴파일 단계에서 일부 감지 가능권장 여부(Spring 공식)과거에 많이 사용Spring 팀에서 권장하는 방식 ✅ 왜 생성자 주입이 "귀찮게" 느껴질까? 생성자 주입을 해놓은 ..
2025.06.11 -
두개의 어노테이션은 Spring 컨테이너가 Spring 컨테이너에 등록되어 있는 Bean 객체를 찾아 자동으로의존성을 주입해준다. @Autowired Bean 객체 찾는 순서타입 > 이름 > @Qualifier > 실패@Autowired 는 주입하려고 하는 객체의 타입을 확인해 컨테이너에서 Bean 객체를 찾는다.만약 타입이 존재하지 않으면 @Autowired 에 설정된 이름으로 Bean 객체를 찾고 이름이 없을 경우@Qualfier 어노테이션 유무를 찾아 주입한다. 없을 경우 예외가 발생한다. 생성자, 필드, 메서드 모두 적용 가능하다. Spring Boot 가 아닌 Spring 프레임워크일 경우 xml 설정 파일에 구문을 넣어준다. @Servicepublic class UserDetailsServi..
@Autowired 와 @Resource 차이점두개의 어노테이션은 Spring 컨테이너가 Spring 컨테이너에 등록되어 있는 Bean 객체를 찾아 자동으로의존성을 주입해준다. @Autowired Bean 객체 찾는 순서타입 > 이름 > @Qualifier > 실패@Autowired 는 주입하려고 하는 객체의 타입을 확인해 컨테이너에서 Bean 객체를 찾는다.만약 타입이 존재하지 않으면 @Autowired 에 설정된 이름으로 Bean 객체를 찾고 이름이 없을 경우@Qualfier 어노테이션 유무를 찾아 주입한다. 없을 경우 예외가 발생한다. 생성자, 필드, 메서드 모두 적용 가능하다. Spring Boot 가 아닌 Spring 프레임워크일 경우 xml 설정 파일에 구문을 넣어준다. @Servicepublic class UserDetailsServi..
2024.01.31