[Spring] @Configuration에 대한 나름의 이해

2023. 10. 1. 23:36Spring

@Configuration이 있어야 싱글톤을 보장한다. 그렇지 않으면 자바 로직 그대로 된다.

@Configuration을 하면 AppConfig.class를 상속하는 클래스를 만들어 각각의 메소드를 오버라이드 시킨다. 

그리고 그걸 설정파일 이름을 이름으로 하여 빈에 등록시킨다.

이때 핵심은 만약 그 메소드에 해당하는 빈이 이미 등록되어 있다면 그걸 가져오고 아니면 새로 등록을 하는 로직을 자체적으로 추가한다.

그렇지 않으면 객체를 여러개 만들게 되고 이는 빈에 등록되어 있지 않는 것이다. 이는 싱글톤이 아니고 구현체에서 자체로 객체를 만들어주고 넣어주는 거랑 큰 차이가 없다. (DIP와 OCP는 만족하기는 한다)

결론적으로 설정파일을 만들때는 @Configuration을 붙여주자!!!

 

Reference


https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55366 

 

학습 페이지

 

www.inflearn.com