강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

minsu591님의 프로필 이미지
minsu591

작성한 질문수

스프링 핵심 원리 - 기본편

스프링으로 전환하기

Bean의 필요성

작성

·

37

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (/아니오)

[질문 내용]
안녕하세요. 강의 잘 수강하고 있습니다. 다름이 아니라, 순수 자바로 작성된 AppConfig 파일을 스프링으로 전환하는 과정에 궁금한 점이 있어 질문드립니다. 일단 해당 과정에서 AppConfig 내부의 모든 메소드들을 Bean으로 등록하셨는데요. memberRepository나 discountPolicy는 orderService 혹은 memberService의 의존성 주입을 위해 만들어진 메소드들로, 외부에서 사용되지 않을 것으로 보이는데 맞을까요?

따라서 Bean으로 등록할 필요도 없고 public으로 설정할 필요도 없어보이는데, 강의 내에서는 Bean으로 등록하고 public으로 설정한 다른 이유가 있을지 궁금합니다.

답변 2

0

안녕하세요. minsu591님, 공식 서포터즈 y2gcoder입니다.

말씀하신 것처럼 현재 단계에서는 큰 효용이 보이지 않을 수도 있을 거라 생각합니다! 다만 강의를 좀 더 수강해보시면 스프링 컨테이너와 같은 IoC 컨테이너를 통한 의존성 주입이 주는 이점을 학습하실 수 있을 거라 생각합니다. 추가로 스프링 빈으로 등록했을 때 사용할 수 있는 강력한 기능들(AOP)도 스프링 빈을 사용하게 되는 큰 이유 중 하나라고 생각합니다 🙂

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. minsu591님.

스프링 컨테이너에서의 빈 등록public 메소드 정의에 대한 질문을 주셨네요. 이 부분은 스프링의 핵심 개념 중 하나로, 적절한 설정이 중요한데요. 관련하여 몇 가지 설명을 드리겠습니다.

  1. 스프링의 의존성 관리 및 빈 등록:
    스프링에서는 빈으로 등록하여 관리함으로써, 애플리케이션의 각 클래스 간의 의존성을 효율적으로 관리할 수 있습니다. 빈은 주로 스프링 컨테이너에서 자동으로 의존성을 주입받을 수 있고, 다양한 스프링 기능(예: 트랜잭션 처리 등)을 활용하기 위해서는 빈으로 등록되어야 하는 경우가 많습니다.

  2. memberRepository와 discountPolicy의 빈 등록 이유:
    특히, 예제에서 memberRepositorydiscountPolicy를 빈으로 등록하는 이유는 OrderServiceMemberService 등에서 의존성 주입을 통해 사용되기 때문입니다. 이를 통해 클래스 간의 결합도를 낮추고, 테스트 및 유지보수를 용이하게 할 수 있습니다.

  3. public 메소드 설정 이유:
    스프링에서 빈을 등록하는 메소드는 일반적으로 public으로 설정됩니다. 이는 스프링이 프록시나 리플렉션을 통해 메소드를 호출할 때 접근 제한을 방지하기 위함입니다. 따라서, 의도적으로 외부에서 해당 메소드를 직접 호출하지 않더라도 public으로 설정하는 것이 일반적입니다.

관련 질문 및 해결 방법이 있는 게시물을 공유드립니다. 보다 깊이 있는 이해에 도움이 될 것입니다:
- AppConfig에서 Bean 등록을 반드시 해야하는가?

이 게시물에서는 스프링 애플리케이션에서의 빈 처리 방식과 클래스를 구성할 때 가능성을 고려하여 빈으로 등록하는 이유에 대해 다루고 있습니다. 빈 등록에 대한 다양한 시나리오를 이해하는 데 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

minsu591님의 프로필 이미지
minsu591

작성한 질문수

질문하기