Java기반의 웹어플리케이션의 장점이자 단점이 사용자에게 기다리는 시간을 줄이기 위해 기동시 모든 리소스들이 캐시되어 즉시 사용할 수 있게 하지만 개발자에게는 이렇게 비생산적인 상황일 수가 없습니다.
저도 15년 동안을 당연하다고 생각하고 작업을 해왔습니다.
하지만 python이나 nodejs를 사용해보니 생산성의 차이가 극명하게 나타난다는 것을 몸소 체험했습니다.
해보지 않은 결코 느껴보지 못할 것입니다.
간만에 Java를 접근하는데 하다하다 화딱지가 나서 좀 찾아보았습니다.
@Configuration
@Profile ( "local")
@ComponentScan (lazyInit = true)
개발환경용 Profile 설정을 걸고 lazyInit를 활용하면 기동시 효과를 볼 수 있습니다.
그리고 @Lazy도 잘 활용하면 좋은 것이 Bean을 호출시 등록되기 때문에 잘 사용하면 효과적입니다.
그래도 여전히 만족하지는 못하지만 주어진 환경에서 최선을 다하려고 합니다.
서비스에 대한 API의 연결이 중요한 것이고 용도에 맞는 개발언어를 사용하는 것이 중요한 것이 특정 개발언어가 모든 것을 다 독점할 수는 없다고 생각합니다.
[참고링크]
http://dolszewski.com/spring/faster-spring-boot-startup/