💡이 포스팅은 김영한 님의 인프런 강의인 스프링 부트 - 핵심 원리와 활용을 수강하고 학습한 내용을 정리한 포스팅입니다.
김영한 님의 강의를 수강하며 정리한 GitHub Repository입니다.
이번 챕터에 대해 정리할 내용은 다음과 같습니다.
- libs? lib는 안되나?
- implementation files
- @EnableAutoConfiguration & AutoConfigurationImportSelector
libs? lib는 안되나?
우리가 직접 만든 라이브러리를 추가할 때 영한님이 jar 파일의 경로를 반드시 lib가 아닌 libs 폴더에 넣어야 한다고 했었는데, 왜 꼭 libs인가에 대해 궁금했었습니다.
gradle 공식 문서를 참고해 보았는데, 가이드 문서에서도 libs 폴더로 만들어 추가하라고만 하고 딱히 이유에 대해서는 설명하지 않았습니다.
그냥.. 그렇게 만들었나 봅니다. 마치 gradle이 왜 gradle인지 궁금해하는 것처럼....????
implementation files
implementation에서 files() 메서드를 사용하면 프로젝트 내의 특정 경로에 있는 jar 파일을 추가할 수 있다고 합니다.
이에 관해서는 잘 정리해주신 블로그가 있어서 해당 블로그를 참고하시면 좋을 것 같습니다.
@EnableAutoConfiguration & AutoConfigurationImportSelector
Spring Boot에서는 자동 구성을 위해 @EanbleAutoConfiguration annotation을 지원합니다.
@EanbleAutoConfiguration annotation은 위와 같이 @SpringBootApplication annotaiton에 포함되어 있으며 AutoConfigurationImportSelector 클래스를 Import 하고 있습니다.
AutoConfigurationImportSelector의 selectImports 메서드를 통해 자동 구성 할 클래스 정보를 가져오게 되는데, 기본적으로는 ImportCandidates.load() 메서드를 통해 자동 구성 클래스 정보가 작성된 외부 파일을 가져오게 됩니다.
해당 내용에 대해서는 토비님의 인프런 강의 포스팅에서도 정리해 두었으니 참고하시면 좋을 것 같습니다.
'Lecture > 김영한 - 스프링 부트 - 핵심 원리와 활용' 카테고리의 다른 글
스프링 부트 - 핵심 원리와 활용 - 외부설정과 프로필2 (0) | 2023.03.12 |
---|---|
스프링 부트 - 핵심 원리와 활용 - 외부설정과 프로필1 (0) | 2023.03.12 |
스프링 부트 - 핵심 원리와 활용 - 스프링 부트 스타터와 라이브러리 관리 (0) | 2023.03.12 |
스프링 부트 - 핵심 원리와 활용 - 스프링 부트와 내장 톰캣 (0) | 2023.03.12 |
스프링 부트 - 핵심 원리와 활용 - 웹 서버와 서블릿 컨테이너 (0) | 2023.03.12 |
댓글