Spring MVC는 다들 알고 계실겁니다. Model-View-Controller의 기본 웹 코드 작성기법이며, 대부분 MVC 패턴이라고 알고 계신 분들도 많으실 거에요. MVC는 Servlet을 기반으로 작성된 하나의 템플릿이며, 작동 방식이 Blocking-Synchronous 방식이었습니다. 블로킹과 동기처리방식은 이전에 Java의 Files를 사용하며 잠시 체크하고 넘어갔었는데요, 해당 글이 필요하시다면 링크는 여기있습니다. Servlet도 마찬가지로 서버에서 Response를 기다리는 동안 쓰레드 풀 내에 쓰레드들을 기다리는 블로킹 방식입니다. 그렇기 때문에 인터럽트가 발생하지 않는 이상 그 쓰레드들을 다른 곳에 사용할 수 없는 것이죠. 그리고 지연되는 시간도 문제인 것이 작지만 쌓이고 쌓이면..
이전에 Annotation 글을 작성하면서 Lombok에 대해 간단히 정의해보았었습니다. 이전에는 전반적인 Annotation들에 대해 설명하게 되면서 lombok은 생략이 되었었는데요, 이번 글에서는 현재 제가 실무에 사용하고 있는 lombok에 대해 정리해보려고 글을 작성하게 되었습니다. 먼저, IntelliJ 기준의 lombok의 사용법은 다음과 같습니다. gradle 기반의 프로젝트이며 dependencies 에 다음과 같이 추가하면 사용할 수 있습니다. dependencies { ... compileOnly('org.projectlombok:lombok') annotationProcessor('org.projectlombok:lombok') ... } 간혹의 경우 lombok을 implement..
기존에 자바 소스에서는 @Override, @Deprecated, @SuppressWarnings 의 형태로 사용했다. Spring Framework에서는 위의 기능들 말고 좀 더 효율적으로 개발을 하기 위해 '@'라는 단어를 앞에 붙여 사용하고 있다. @: at이라고도 읽지만 Spring 내에서는 Annotation(어노테이션, 애노테이션이라고도 함)으로 읽고 있다. 어노테이션은 스프링 프레임워크 3.0부터 본격적으로 사용되기 시작하였고, (현재는 5.2) 모든 어노테이션은 org.springframework 의 하위 패키지 클래스에 내장되어 있다. * build.gradle의 설정에 따라 각각 호출되는 어노테이션 명 및 기능이 다를 수도 있다. 또, 어노테이션은 각각의 레벨이 있고 그 레벨마다 호출되..