반응형

Spring boot 7

[Spring] 스프링 부트 3.2 RestClient 살펴보기

RestClientRestClient는 Spring framework 6.1(Spring boot 3.2)에 새로 추가된 동기식 HTTP Client로 Spring 애플리케이션에서 REST API 호출을 위한 HTTP 요청을 보낼 수 있다.RestClient의 등장으로 같은 동기식 HTTP Client인 RestTemplate을 대체하여 사용할 수 있으며, fluent API를 제공하여 현대적인 방식으로 코드를 작성할 수 있게 되었다. RestClient의 등장 이유기존의 RestTemplate는 2009년 Spring 3.0에 추가된 상당히 오래된 동기식 HTTP Client이다. 그로 인해 몇 가지 단점들이 존재한다.RestTemplate는 수많은 메서드가 오버로딩되어 제공하기 때문에 기능을 사용하는..

[Kopring] 코틀린 + 스프링 부트 환경으로 프로젝트 생성하기

프로젝트 생성 개발자들 사이에서 코프링이라고 불리는 Kotlin 언어와 Spring 프레임워크를 활용한 프로젝트를 만들어보자. 기존 자바 스프링 프로젝트와 같이 Spring Initializr 또는 IntelliJ에서 프로젝트를 만들 수 있다. 간단히 프로젝트를 생성하고 실행하여 웹에서 확인하기 위해 의존성에 Spring Web을 추가하여 만들어보자. Spring Initializr https://start.spring.io/에 접속하여 프로젝트를 생성한다. IntelliJ IDEA Ultimate 코프링 프로젝트 패키지 구조 기본적으로 자바 + 스프링 프로젝트와 같은 패키지 구조를 구성하고 있다. build.gradle.kts는 기존 build.gradle과 같은 역할을 하는 파일이며, 클래스 파일 확..

[Spring Batch] 스프링 배치 간단한 Job 구현하고 실행하기 - Spring boot 2.x

본 내용은 온라인 강의 사이트 인프런의 정수원 님의 강의 내용이 포함되어 있습니다. 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch - 인프런 | 강의 초급에서 중~고급에 이르기까지 스프링 배치의 기본 개념부터 API 사용법과 내부 아키텍처 구조를 심도있게 다룹니다. 그리고 스프링 배치 각 기능의 흐름과 원리를 학습하게 되고 이를 바탕으 www.inflearn.com 스프링 배치 프로젝트 구성 및 환경 설정 아래 링크를 통해 스프링 배치를 실행하기 위한 프로젝트 생성 및 환경 설정을 수행하고 나면 간단한 스프링 배치 Job을 구성하여 실행할 수 있다. https://ittrue.tistory.co..

[Spring Batch] 스프링 배치 프로젝트 구성 및 환경 설정 - Spring boot 2.x

본 내용은 온라인 강의 사이트 인프런의 정수원 님의 강의 내용이 포함되어 있습니다. 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch - 인프런 | 강의 초급에서 중~고급에 이르기까지 스프링 배치의 기본 개념부터 API 사용법과 내부 아키텍처 구조를 심도있게 다룹니다. 그리고 스프링 배치 각 기능의 흐름과 원리를 학습하게 되고 이를 바탕으 www.inflearn.com 프로젝트 생성 Spring initializr IntelliJ IDEA Ultimate build.gradle 의존성 추가 프로젝트 생성 후 스프링 배치를 사용하기 위해 의존성을 추가한다. plugins { id 'java' id '..

[Spring Boot] 스프링 부트 웹 서버 톰캣(Tomcat)에서 제티(Jetty)로 변경하기

Intro 스프링 부트에는 톰캣(Tomcat) 서버가 내장되어 있어 별다른 설치 과정 없이 Tomcat을 통해 실행된다. 하지만, 톰캣이 아닌 다른 서버를 통해 프로젝트를 실행할 수도 있다. Jetty Jetty는 이클립스 재단의 HTTP 서버이자 자바 서블릿 컨테이너이다. Jetty도 톰캣(Tomcat)과 같이 자바 서블릿 컨테이너이자 서버로 사용할 수 있기 때문에 개발자는 원하는 서버를 선택하여 프로젝트를 구성할 수 있다. Jetty의 특징 2009년 이클립스 재단으로 이전하면서 오픈소스 프로젝트로 개발되었다. Jetty는 다른 웹 애플리케이션에 비해 적은 메모리를 사용하여 가볍고 빠르다. 애플리케이션에 내장 가능하다. 경량 웹 애플리케이션으로 소형 장비, 소규모 프로그램에 더 적합하다. 스프링 부트..

[JPA] QueryDSL build.gradle 환경 설정

스프링 부트 프로젝트 생성 Spring initialzr에서 프로젝트를 생성한다. Spring Web, JPA, H2 Database 등 필요한 의존 라이브러리 설정이 필요하다. Spring Boot 2.6 ~ 2.7과 3.0은 build.gradle 설정 방법이 다르다. QueryDSL 설정 스프링 부트 2.6 ~ 2.7에서 build.gradle 설정 // (1) queryDSL 추가 buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'java' id 'org.springframework.boot' version '2.7.7' id 'io.spring.dependency-management' version '1.0.15.RELEASE' /..

[JPA] QueryDSL 소개 및 장점

QueryDSL이란? QueryDSL은 하이버네이트 쿼리 언어(HQL: Hibernate Query Language)의 쿼리를 타입에 안전하게 생성 및 관리해주는 프레임워크이다. QueryDSL은 정적 타입을 이용하여 SQL과 같은 쿼리를 생성할 수 있게 해 준다. 자바 백엔드 기술은 Spring Boot와 Spring Data JPA를 함께 사용한다. 하지만, 복잡한 쿼리, 동적 쿼리를 구현하는 데 있어 한계가 있다. 이러한 문제점을 해결할 수 있는 것이 QueryDSL이다. QueryDSL이 등장하기 이전에는 Mybatis, JPQL, Criteria 등 문자열 형태로 쿼리문을 작성하여 컴파일 시에 오류를 발견하는 것이 불가능했다. 하지만, QueryDSL은 자바 코드로 SQL 문을 작성할 수 있어 ..

반응형