Spring(2)
-
@Autowired 를 가급적 쓰지 말라는 이유
@Autowired 는 생성자 주입 방식 시에도, 필드 주입 방식 시에도 사용할 수 있음. 따라서 @Autowired 를 가급적 쓰지 말라는 이유는 두 가지로 분류할 수 있음. (생성자 주입, 필드 주입 둘 다 포함)@Autowired 자체의 어떠한 단점으로 인해 사용을 지양하는 것이 좋으며, 그 단점이 무엇인지? @Autowired 를 적용한 필드 주입 방식보다는 생성자 주입 방식을 왜 선택해야 하는지 1. @Autowired 자체의 어떠한 단점으로 인해 사용을 지양하는 것이 좋으며, 그 단점이 무엇인지? 순환 참조가 발생할 수 있음. 순환 참조가 발생할 경우, 컴파일 타임 시 에러가 잡히지 않다가 로직이 실행되는 런타임 시에 에러가 잡힘. 컴파일 때 에러가 잡히지 않으니, 애플리케이션이 정상적으로 작..
2022.03.01 -
Stereotype Annotation 및 bean 등록 과정
stereotype annotation - 가장 기본적인 어노테이션. @Component, @Repository, @Service, @Controller, @Configuration이 있음. @Repository, @Service, @Controller, @Configuration은 @Component 어노테이션을 포함하고 있음. 스프링/스프링 부트는 @ComponentScan 을 통하여 빈들을 찾고, 등록함. basePackages, basePackageClasses로 스캔 시작할 위치를 지정, 생략시 스캔 위치가 현재 클래스의 패키지로 지정. ComponentScanAnnotationParser가 @ComponentScan를 읽으며 설정 파일 파싱. ComponentScanAnnotationParse..
2022.03.01