본문 바로가기

SpringBoot

(7)
[Spring & SpringBoot] Spring과 SpringBoot의 차이점 Spring과 Spring Boot는 Java 기반의 애플리케이션 개발을 위해 널리 사용되는 프레임워크이다.이 둘은 밀접하게 연관되어 있지만, 각각의 목적과 기능이 다르다.오늘 포스팅에서는 Spring과 Spring Boot의 차이점에 대해 자세히 설명해보려고 한다.1. Spring Framework핵심 개념: Spring은 Java 애플리케이션의 개발을 단순화하고 효율적으로 만들기 위한 포괄적인 프레임워크이다. Spring의 핵심 기능은 'DI(Dependency Injection)'와 'AOP(Aspect-Oriented Programming)'이다.DI - 의존성 주입AOP - 관점 지향 프로그래밍 구성 요소:Spring Core: DI를 통한 의존성 관리가 가능하며, 객체 간의 결합도를 낮추어 유..
[Java] Restful API 구현하기 RESTful API는 현대 웹 애플리케이션에서 서버와 클라이언트 간의 데이터 통신을 처리하는 핵심 요소 중 하나이다.이번 포스팅에서는 Java와 Spring Boot를 사용해 RESTful API를 구현하는 방법을 IntelliJ를 기준으로 단계별로 설명하려고 한다. 데이터베이스는 MySQL을 사용했다.1. RESTful API란?REST(Representational State Transfer)는 HTTP 프로토콜을 기반으로 리소스를 관리하고, 클라이언트와 서버 간의 상호작용을 단순화하기 위한 아키텍처 스타일이다. RESTful API는 이 REST 원칙을 따르는 API를 의미하며, 주로 다음과 같은 HTTP 메서드를 사용한다.GET: 리소스 조회POST: 리소스 생성PUT: 리소스 수정DELETE:..
[SpringBoot] JWT Token 생성 JWT란? JWT (JSON Web Token)은 사용자 인증과 데이터 교환을 위해 널리 사용된다. JWT는 세 부분으로 구성된 콤팩트한 토큰으로, 이를 통해 신뢰성 있는 정보 교환이 가능하다. JWT는 주로 사용자 인증 시스템에서 사용되며, 클라이언트와 서버 간에 데이터를 안전하게 전달하는 데 이용된다.JWT의 구조 JWT는 세 부분으로 나누어져 있다.헤더 (Header): 토큰의 유형과 사용된 알고리즘 정보를 담고 있다.페이로드 (Payload): 토큰에 담길 실제 데이터를 포함한다. 여기에는 사용자 정보나 만료 시간 등의 클레임이 포함될 수 있다. 서명 (Signature): 토큰의 무결성을 확인하기 위한 부분이다. 헤더와 페이로드를 인코딩한 후, 비밀 키와 함께 해시 함수로 생성된다.Spring ..
@RequestBody와 @RequestParam 어노테이션 역할과 차이점 오늘 포스팅에서는 Spring Framework에서 자주 사용하는 어노테이션인 @RequestBody와 @RequestParam의 역할과 차이점에 대해서 다뤄보려고 한다.  먼저 @RequestBody Http 요청의 Body 데이터를 Java 객체로 변환해주는 역할을 한다. 우리가 자주 사용하는 Method 방식 GET, POST, PUT, DELETE 중 POST, PUT, DELETE 방식에서 주로 사용한다.  위의 3가지 방식으로 요청을 보낼 때는 주로 JSON 형태의 데이터를 많이 사용하는데 이를 우리가 미리 생성해둔 Java 객체로 변환해 준다.  예시를 보자. const params = { "name" : "개발자 윤씨", "phoneNum" : "010-1234-5678", "ema..
[SpringBoot] SecurityConfig 설정에 따른 인증오류.. !!!! 문제 상황 진행 중인 프로젝트에서 이미지 파일을 AWS 서버에 업로드하는 방식으로 바꾸게 되었다. SpringBoot 프로젝트는 현재 관리자 페이지 API와 Client-API가 분리되어 있지 않고 프로젝트 내에 패키지만 별도로 구성되어 있다. Client-API 패키지에 작업을 한 이미지 업로드 API를 관리자 페이지에서 사용하려고 하니.. 401 인증오류가 나는 것이었다!! 아니 대체 무엇 때문에...? ***문제 해결 방법우선.. 로컬환경에서 테스트 하는 도중 jwt 토큰 관련한 에러가 발생했다. 아니 토큰 값이 안들어갔다고?! 개발자 도구를 켜서 확인해보니 토큰정보가 Header에 들어가 있다.. 디버그 모드 실행 후 doFilter() 메서드를 확인해 보았다. 다른 API를 호출할 때는..
SpringBoot 프로젝트에서 MyBatis 설정하기 오늘은 SpringBoot 프로젝트에서 MyBatis 사용을 위해 필요한 것들에 대해 포스팅 하려고 한다.  간단하게 순서를 정리해보자 1. 프로젝트에 MyBatis 의존성 추가하기 2. MyBatis 설정3. MyBatis Mapper 인터페이스 생성 4. XML 파일 생성 위의 순서대로 차근차근 따라가면 MyBatis를 사용할 수 있다.  1. 프로젝트에 MyBatis 의존성 추가하기 pom.xml (Maven) 또는 build.gradle (Gradle) 파일에 MyBatis 관련 의존성을 추가해보자.  ex) pom.xml (Maven) org.springframework.boot spring-boot-starter-web ..