해결된 질문
작성
·
262
1
답변 2
2
안녕하세요. 돈우님
1. 사실 개발자가 등록한 빈과 스프링 부트가 등록하는 빈은 같은 빈입니다. 따라서 사실은 우선순위가 없습니다. 오히려 둘다 등록하면서 충돌이 날 수 있겠지요.
(같은 타입의 빈은 여러게 등록할 수 있습니다. 대신 이 경우 조회할 때 빈의 이름으로 구분해야 합니다.)
여기서 핵심은 조건부 설정입니다.
스프링 부트가 빈을 등록할 때 조건부 설정을 통해서 개발자가 등록한 빈이 있으면 자신의 빈을 등록하지 않도록 설정하는 것이 핵심입니다.
이렇게 되면 개발자가 등록한 경우에는 스프링 부트가 등록하는 빈은 등록되지 않고, 결과적으로 개발자가 원하는 기능이 적용됩니다.
2. starter와 같은 라이브러리를 사용하면 많은 빈이 등록됩니다. 그런데 모두 등록되는 것은 아니고, 조건부 설정을 통해 보통 현재 필요한 빈들이 등록됩니다.
하지만 해당 라이브러리를 사용한다고 했다면 해당 라이브러리의 사용하는데 필요한 기능들은 대부분 등록이 되겠지요?
스프링 부트를 활용하는 라이브러리 중에서 스프링 설정을 통해서 본인의 기능을 추가로 사용할지 옵션을 제공하기도 합니다. 이 경우 주로 application.yml 같은 것을 통해서 설정하게 됩니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
질문하신 내용은 스프링 부트의 자동 구성(AutoConfiguration)과 관련하여, 개발자가 직접 등록한 빈의 처리 순서와 스프링 부트가 제공하는 스타터 라이브러리를 통해 등록되는 빈들에 대한 관리 방법에 대해 궁금해하시는 것으로 보입니다.
이와 관련하여, 스프링 부트에서 AutoConfiguration으로 등록되는 빈의 동작 원리와 사용하지 않는 빈에 대한 처리 방법 등에 대해 설명하는 유사한 질문 및 답변이 있어 해당 정보를 공유드립니다.
감사합니다.