dependency

    [Spring] Gradle dependencies 정리

    dependencies implementation & api 컴파일 타임과 런타임 모두에 걸쳐서 사용자에게 의존성을 부여하는 지시어이다. api 컴파일 타임과 런타임에 사용자에게 의존성을 노출시킨다. 의존 라이브러리가 수정되는 경우 해당 라이브러리를 의존하는 모든 모듈들을 재빌드한다. implementation 내부적으로만 사용되고 사용자에게는 의존성을 노출시키지 않게 선언한다. 의존 라이브러리를 수정해도 직접적으로 사용하는 모듈까지만 재빌드한다. 클래스 A, B, C가 있다. B는 A를 호출한다. (B는 A를 의존) C는 B를 호출한다. (C는 A, B를 의존) 즉, A > B > C 와 같은 의존성을 보인다. api를 사용해 A에 의존성을 부여했다고 하자. 만약 A가 수정된다면 A를 직접적으로 참조하..