인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

갱스터님의 프로필 이미지

작성한 질문수

옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트

내가 완강이라니.. 내가 완강이라니..!

[막강] IoC방법 공부를 할 때?

작성

·

53

1

  • 스프링 IoC를 공부하려면 @Configuration+@Bean 학습을 하려고 하는데, @AppConfig같은 것으로 공부를 해야하는지, 어떻게 해야할지 조그만한 힌트를 주시면 감사하겠습니다.

답변 1

0

송아지할때송아김송아입니다.님의 프로필 이미지

갱스터님!! 👀 후기에서도 뵙고, 여기서 또 뵙습니다!

이 질문을 해주신다는 건, 이제 스프링을 어떻게 공부해야할 지 확실히 감을 잡으신 듯해요 🥹

 

 

100프로 완강했으니, 이제 딱 IoC의 또다른 방법 '@Configuration + @Bean'도 공부할 타이밍이죠.

(사실 다음 강의에 준비되어 있습니다! 어떻게 아셨죠..? 옆집개발자 강의와 갱스터님 조합 대찬성..)

 

이미 이렇게 공부하고 계실 듯한 느낌이 들지만, 조그만 힌트를 남겨드려 봅니다!

@Configuration 어노테이션을 냅다 파보세요! (Ctrl 누르고 들어가서 주석을 보셔도 좋겠죠?)

그럼 ‘오? 이 어노테이션이 _____을 대체하겠다는 뜻이구나!’ 하며 탁 트이는 곳이 있을 겁니다.

 

그 다음은 자연스럽게 갱스터님이 AppConfig 클래스를 만들어보고 계실 거예요.

  • 물론 이 클래스 이름도 꼭 이렇게만 해야하는 답정너가 아닙니다! 이것도 줄임말이에요!

  • 나만의 작명이 더 좋다면, 그 의미에 맞게 당연히 바꾸셔도 됩니다.

 

 

그럼 갱스터님, 빈칸의 답을 찾으러 떠나시죠 🚀

멋진 질문 감사합니다갱스터님!

 

ps. 혹시 이 답변을 확인하신다면, 답을 찾으신 후 답글로 나눠주실 수 있을까요?
다른 분들께도 큰 도움이 될 것 같아서요! 😊

갱스터님의 프로필 이미지
갱스터
질문자

@Configuration을 선언한다는 것은 프로젝트의 설정파일을 선언한다.

그 설정 파일에는 내가 등록 할 @Bean을 등록하고, 컨테이너에서 관리해준다..

 

여기서 사용되는 @Bean은 @Component에서 사용되지 않는(@Controller, @Servcie, @Repository)가 아닌 외부라이러브리, 외부API, 프레임워크에서 제공하는 스프링시큐리티를 주입할 때 사용한다.

그 때에, 이 것들은 컨테이너에서 관리되며 싱글톤을 유지한다.

 

여기서 싱글톤이란?

-> 싱글톤은 하나의 객체를 전역에 선언하면, 여러 곳에서 사용할 수 있는 것, 이 때 데이터베이스를 예로 들면 하나의 객체를 선언하면 다양한 클래스에서 하나의 DB를 불러와 사용할 수 있음.

-> 불러올 때는 private final 을 통한 생성자 주입을 통해 사용하면 됨.

 

이렇게 이해를 했습니다.

송아지할때송아김송아입니다.님의 프로필 이미지

역시...🥹💚

단순 지식 하나를 검색하고 받아들이기만 한 것이 아니라,
@Configuration을 뜯어보며 이해하고 연관된 싱글톤 개념까지 이해하셨다니..


갱스터님의 답변이 비슷한 고민을 하고 계시는 다른 분들께도 큰 힌트가 될 듯 합니다🔥
옆집 개발자 갱스터님, 공유해주셔서 감사합니다!