[SpringBoot] Gradle 프로젝트 생성하기
·
SpringBoot
이전 글: [SpringBoot] Gradle 프로젝트 생성 시 Java 17 인식 오류 해결 과정 Java 17 설정 문제를 해결한 후, 이제 정상적으로 Gradle 프로젝트를 생성할 수 있게 되었다. 1. Spring Starter Project 생성이제 Spring Initializr를 통해 새로운 프로젝트를 생성한다.프로젝트 기본 설정첫 번째 화면에서는 프로젝트의 기본 정보를 설정한다.Service URL: https://start.spring.io - Spring Initializr 공식 사이트Name: jy-blog-1 - 블로그 프로젝트라는 의미로 명명했다Type: Gradle - Groovy - Maven 대신 Gradle을 선택했다Java Version: 17 - 이전에 해결한 Java ..
[SpringBoot] Gradle 프로젝트 생성 시 Java 17 인식 오류 해결 과정
·
SpringBoot
항상 Maven 프로젝트만 사용하다보니 Gradle 프로젝트를 간단한 블로그 프로젝트로 만들어 보려고 했다. 하지만 프로젝트 생성 과정에서 예상치 못한 문제에 부딪혔다. 문제 상황Spring Boot 프로젝트를 Gradle로 생성하려고 하는데 다음과 같은 오류가 발생했다.분명히 JDK 17은 설치되어 있었고, 명령프롬프트에서 java -version을 실행하면 17 버전이 정상적으로 출력되었다. 하지만 Eclipse에서 Spring Boot 프로젝트를 생성할 때만 Java를 찾지 못한다는 오류가 계속 발생했다. 시도한 해결 방법들1. Eclipse JRE 설정 확인Eclipse의 Window → Preferences → Java → Installed JREs에서 확인해보니 jdk-17이 목록에는 있었지만..
[SpringBoot] 이클립스에서 Maven과 Lombok 환경 설정하기 (오류 해결 과정)
·
SpringBoot
팀원이 작업한 파일을 내려받아 실행해보니 log 부분에서 계속 오류가 발생했다. log cannot be resolved라는 오류 메시지가 뜨는데, 처음엔 원인을 전혀 알 수 없었다. 인터넷을 찾아보니 lombok이 설치되지 않아서 생기는 문제였다.처음에는 간단하게 인텔리제이로 프로젝트를 열고 플러그인으로 lombok을 설치했다. 실행해보니 문제없이 잘 돌아갔다. 그대로 인텔리제이를 사용할까도 생각했지만, 이클립스에서 떠있는 오류를 보니 꼭 해결하고 싶어졌다. 그래서 maven과 lombok을 직접 설치해보기로 결정했다. lombok이란?자바 프로젝트에서 반복적으로 작성해야 하는 Getter, Setter, toString(), equals(), hashCode() 등의 메소드를 어노테이션을 통해 자동으..
[SpringBoot] sts4 설치 및 압축풀기 오류 해결
·
SpringBoot
이전 글: [SpringBoot] SpringBoot 설치부터 프로젝트 생성, 의존성 추가까지 이전에 springboot tool 설치를 했었는데 컴퓨터를 새로 교체하면서 개발 환경을 다시 구축해야 했다. 예전에는 없었던 오류가 이번 설치 과정에서 발생했다. 압축풀기 과정에서 발생한 오류와 해결다운로드한 파일의 압축을 풀려고 했더니 기본 압축 해제 프로그램에서 오류가 발생했다. 구글링을 해보니 반디집(Bandizip)으로 압축을 해제하면 해결된다는 정보를 찾았다. 반디집을 설치하고 다시 시도하니 정상적으로 압축이 풀렸다. 3. sts4 실행압축 해제가 완료된 후 STS4를 실행할 수 있었다.
[SpringBoot] 일관된 API 응답을 위한 JsonResult 구현 및 활용
·
SpringBoot
웹 개발 수업에서 강사님께 API 응답의 일관성에 대해 배웠다. 강사님은 프론트엔드와 백엔드 간의 효율적인 통신을 위해 표준화된 응답 구조의 중요성을 강조하셨다. 수업에서 배운 내용을 실제 프로젝트에 적용하여 JsonResult 유틸리티 클래스를 구현하게 되었다. JsonResult 클래스 구현클래스 구조 설계public class JsonResult { private String result; // 요청 성공 여부 ("success" or "fail") private Object apiData; // 성공 시 반환할 데이터 private String message; // 실패 시 반환할 메시지}클래스의 핵심 목표는 다음과 같다.모든 API 응답에 일관된 구조 제공성공/..
[SpringBoot] JWT 토큰 구현 및 활용
·
SpringBoot
로그인 기능을 개발하면서 사용자 인증의 핵심 요소인 JWT(JSON Web Token)를 본격적으로 도입하게 되었다. 기존의 세션 방식에서 벗어나 더욱 안전하고 확장성 있는 인증 메커니즘을 구현하고 싶었다. 이 글에서는 내가 실제 프로젝트에서 JWT를 어떻게 구현하고 활용했는지 상세히 공유하려 한다. JWT란?당사자 간에 정보를 JSON 객체로 안전하게 전송하기 위한 간결하고 자가수용적인 방식이다. 주로 인증과 정보 교환에 사용되며, 세 부분으로 구성된다.Header(헤더)토큰의 유형과 해시 알고리즘 정보를 포함한다.예: 사용된 해시 알고리즘(HMAC SHA256), 토큰 타입(JWT)Payload(페이로드)토큰에 담길 정보(클레임)를 포함한다.사용자 ID, 이름, 만료 시간 등 다양한 데이터 저장 가능..
[SpringBoot] 스프링부트 어노테이션(Annotation) 정리
·
SpringBoot
개발을 하면서 스프링부트의 다양한 어노테이션을 사용해왔다. 처음에는 단순히 정해진 방식대로 `@RestController`,`@Autowired` 같은 기본적인 어노테이션들만 사용했었다. 하지만 프로젝트가 복잡해지고 기능이 다양해질수록 내가 알고 있는 어노테이션들만으로는 부족하다는 것을 깨달았다. 그래서 이 글을 통해 스프링부트에서 제공하는 다양한 어노테이션들을 체계적으로 정리해보기로 했다. 어노테이션(Annotation)이란?어노테이션은 코드에 추가적인 정보와 의미를 부여하는 주석과 같은 특별한 표기 방식이다. 단순한 주석과는 달리, 어노테이션은 컴파일러나 프레임워크에 특정한 동작이나 처리 방식을 알려주는 역할을 한다. 어노테이션을 사용하는 주요 이유 1. 코드의 추가 정보 제공클래스, 메서드, ..
[SpringBoot]AWS S3를 활용한 파일 업로드 구현하기
·
SpringBoot
AWS S3(Amazon Simple Storage Service)란?AWS에서 제공하는 객체 스토리지 서비스로, 인터넷을 통해 언제 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있는 단순하면서도 강력한 클라우드 스토리지 솔루션이다.S3는 다음과 같은 특징을 가지고 있다.무제한 확장성: 데이터 용량에 제한이 없으며, 필요한 만큼 저장 공간을 사용할 수 있다.높은 내구성과 가용성: 거의 모든 시간 동안 안정적으로 서비스에 접근할 수 있다.강력한 보안 기능: 암호화, 액세스 제어 등 다양한 보안 기능을 제공한다.글로벌 서비스: 전 세계 어디서든 빠르게 액세스할 수 있다.비용 효율성: 사용한 만큼만 비용을 지불하는 구조로, 초기 비용 없이 시작할 수 있다. S3를 사용한 이유케이크 도안 이미지 업로드 기..
[SpringBoot] Twilio를 활용한 기념일 알림 기능 개발
·
SpringBoot
맞춤 케이크 예약 서비스에서는 고객이 원하는 날짜에 맞춰 케이크를 주문할 수 있도록 돕는 것이 무엇보다 중요하다고 생각했다. 특히, 사용자가 기념일을 깜빡하지 않도록 미리 알림을 제공하는 기능이 있으면 서비스 활용도가 더욱 높아질 것이라 판단했다. 이번 개발에서는 기념일 1주일 전에 사용자에게 알림을 보내는 기능을 구현했다.이를 위해 Spring Boot의 스케줄링 기능(@Scheduled)과 Twilio SMS API를 활용하여, 사용자의 기념일을 자동으로 감지하고 사전에 알림을 보내는 시스템을 개발했다. 이제 구체적인 구현 방법을 코드와 함께 정리해보겠다. Spring Boot: 기념일 알림 스케줄링 및 SMS 전송1. 스케줄러 설정 및 실행먼저, Spring Boot의 @Scheduled를 활용하여..
[SpringBoot] Twilio를 활용한 React & Spring Boot 휴대폰 인증 기능 개발
·
SpringBoot
웹 서비스에서 사용자 인증은 중요한 보안 요소 중 하나다. 특히 회원가입 시 휴대폰 인증을 추가하면 불법적인 가입을 방지하고 계정을 안전하게 보호할 수 있다. React와 Spring Boot를 활용하여 휴대폰 인증 기능을 구현했다.React: 사용자가 휴대폰 번호를 입력하고, 인증번호 요청 및 검증 UI 구현Spring Boot: 인증번호를 생성하고, SMS로 전송한 후 사용자가 입력한 코드가 올바른지 검증이제 구체적인 구현 방법을 코드와 함께 정리해보겠다.  React: 클라이언트 사이드 인증 요청 및 검증React에서는 휴대폰 인증 UI를 구성하고, Axios를 사용해 Spring Boot 서버에 요청을 보냈다. 1. 휴대폰 번호 입력 및 인증번호 요청사용자가 휴대폰 번호를 입력하고 ‘인증번호 요청..