spring 3

[Spring] 게시판 메뉴 조회 페이징 처리 Paging

페이징은 전체 데이터 중 일부만 보여주는 방법으로, 사용자의 데이터 접근성을 높입니다. 예를 들어, 게시판에 3,000개의 글이 있을 때 모든 글을 한 번에 보여주면 페이지 로딩이 느려진다. 이를 통해 사용자는 스크롤 없이 필요한 정보를 빠르게 찾을 수 있다. 또한 검색 기능과 결합하여 원하는 데이터를 쉽게 조회할 수 있다. 1.  service Pageable 객체를 이용하면 페이징 처리와 정렬을 동시에 처리 * Pageable 객체를 생성할 때 PageRequest.of 메소드를 이용하여 생성 * Sort 객체를 전달하여 정렬 순서를 지정  * Pageable 객체를 생성하고 findAll 메소드의 파라미터를 Sort에서 Pageable로 변경  * 반환 타입은 List 가 아닌 Page * Page..

[Spring] WebClient VS RestTemplate 이해하기

Spring Boot 애플리케이션에서 REST API를 호출하는 방법은 여러 가지가 있다.두 가지 주요 방법은 RestTemplate과 WebClient 다.RestTemplate: Spring Framework 3.0부터 사용되어 온 전통적인 방법이다. 동기적인 방식으로 작동하여 현재 스레드가 외부 서비스로부터 응답을 받을 때까지 기다린다. RestTemplate은 간단하고 직관적인 API를 제공하며, 작은 어플리케이션 또는 간단한 API 호출에 적합하다. 하지만, Spring WebFlux의 등장으로 이제는 유지 관리 모드로 들어가며 새 프로젝트에서는 WebClient 사용이 권장된다.WebClient: Spring 5에서 도입된 WebClient는 비동기적이고 논블로킹 방식을 지원하여 요청을 처리하..

[Spring Boot] Model Mapper

Model Mapper 서로 다른 두 오브젝트의 필드값들을 자동으로 Mapping 시켜주는 라이브러리이다. ( DTO -> Entity, Entity -> DTO 변환에 사용 되며 map() 메소드를 통해 간단히 매핑을 할수 있다.) build.gradle의 dependencies에 'ModelMapper' 라이브러리 추가 dependencies { implementation 'org.modelmapper:modelmapper:3.1.0' } Config 디렉토리를 구성하고 RootConfig 클래스를 생성 @Configuration 어노테이션을 이용해서 Bean을 관리 가능 public class RootConfig { //ModelMapper 객체를 스프링 컨테이너에 Bean 등록 @Bean publ..