Spring Boot에서 로그인 기능을 구현하려고 하면 많은 개발자가 여기서 막힙니다. 세션 로그인과 JWT 로그인은 무엇이 다르고, Spring Security 설정은 어떻게 잡아야 하며, Access Token과 Refresh Token은 어디서 발급하고 어떻게 검증해야 하는지 한 번에 정리되지 않기 때문입니다.특히 JWT 로그인은 단순히 토큰 하나 발급해서 끝나는 구조가 아닙니다. 인증 필터, Security 설정, 토큰 생성, 토큰 검증, 만료 처리, Refresh Token 재발급 흐름까지 같이 봐야 실제 서비스에 넣을 수 있습니다. 그래서 이 글에서는 개념 설명과 함께 실제 구현 흐름, 자주 막히는 포인트, 확인 방법까지 같이 정리합니다.결론부터 말하면 Spring Boot JWT 로그인 구현..
GET/POST/PUT/PATCH/DELETE를 어떻게 구현할까?REST API를 공부하다 보면 GET, POST, PUT, PATCH, DELETE는 자주 보는데, 막상 Spring Boot에서 실제 CRUD 코드로 옮기려고 하면 헷갈리는 경우가 많습니다.특히 초보 단계에서는 아래 질문이 자주 나옵니다.GET과 POST는 알겠는데 PUT과 PATCH는 정확히 뭐가 다를까?CRUD API를 만들 때 메서드를 어떻게 나눠야 할까?컨트롤러, 서비스, DTO는 어떤 식으로 연결해야 할까?이번 글에서는 회원(User) 관리 예제를 기준으로, Spring Boot에서 GET/POST/PUT/PATCH/DELETE를 실제 CRUD로 어떻게 구현하는지 쉽게 정리해보겠습니다.1. 먼저 CRUD와 HTTP 메서드를 연결..
Spring이란?스프링(Spring)은 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 SpringBoot- 스프링 부트는 웹 프로그램을 쉽고 빠르게 만들 수 있도록 도와주는 웹 프레임워크Spring Cloud- 분산/버전 관리, 서비스 등록 및 검색 가능, 라우팅, 서비스 간 호출, 부하분산, 회로차단기, 분산 메시지 등의 기능을 사용할 수 있는 도구Spring Batch- 엔터프라이즈 시스템의 일상적인 운영에 필수적인 강력한 배치 애플리케이션을 개발할 수 있도록 설계된 가볍고 포괄적인 배치 프레임워크Spring 특징컨테이너 역할Spring 컨테이너는 Java 객체의 LifeCycle을 관리하며, Spring 컨테이너로부터 필요한 객체를 가져와사용할 수 있습니다.DI(De..
JUnit5 란? JUnit이란 자바 프로그래밍 언어용 단위 테스트 프레임워크입니다. SpringBoot 2.2.0 이전에는 JUnit4가 기본으로 설정되었지만, SpringBoot 2.2.0 버전부터는 JUnit5가 기본으로 설정됩니다. JUnit5는 런타임 시 Java8 이상이 필요하며, Junit5를 사용하려면 Gradle 4.7 이상이 여야 합니다. JUnit의 경우 Spring boot initializer에서 Spring-Web을 dependencies를 사용하게 되면 자동적으로 추가가 됩니다. JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage JUnit Platform : 테스트를 발견하고 테스트 계획을 생성하는 Test Engine API..
JPA 적용하기JDBC, MyBatis에 이어서 이번엔 JPA 연결해서 사용해 보겠습니다. build.gradle//JPAimplementation 'org.springframework.boot:spring-boot-starter-data-jpa' MovieVO.javapackage com.api.opendata.model.boxoffice;import lombok.Getter;import lombok.Setter;import javax.persistence.*;@Getter@Setter@Entity@Table(name="tbl_Movie")public class MovieVO { @Id @Column //@GeneratedValue(strategy= GenerationType.IDENT..

