Spring Boot 12

[AWS] EC2를 사용해서 AWS 배포

aws 로그인 해서 인스턴스 검색 인스턴스 시작   공짜 버전인스턴스 유형은 프리티어를 사용하고 있다면 t2.micro 로 설정해주셔야 합니다.다른 유형으로 설정하면 과금요소가 추가됨 키페어 다운로드 했는데 내 Mac → Key에 있음 네트워크 설정    이제 생성한 인스턴스의 보안 그룹을 수정보안 그룹이란?AWS 에서 제공하는 방화벽으로 인바운드 규칙, 아웃바운드 규칙이 존재함인바운드 규칙(inbound) : 외부에서 EC2나 RDS 등의 내부로 접근할때 사용되는 방화벽 규칙아웃바운드 규칙(outbound) : EC2나 RDS 등의 내부에서 외부로 접근할때 사용되는 방화벽 규칙우리는 EC2에 접속해서 서버를 띄우는것이 목적이기 때문에 인바운드 규칙만 건드려주도록 하자EC2 메뉴의 네트워크 및 보안 탭의..

Server/AWS 2025.01.05

[Spring boot] @ResponseEntity @ResponseBody 차이

ResponseEntity는 응답 헤더, 본문 양식을 맞추어 반환하므로 @ResponseBody자바 스프링 부트에서 @ResponseEntity와 @ResponseBody는 모두 컨트롤러에서 HTTP 응답을 작성할 때 사용되지만, 그 목적과 사용 방식에 차이가 있다@ResponseBody@ResponseBody는 메서드가 반환하는 객체를 HTTP 응답 본문으로 직렬화하여 클라이언트에 직접 전송하도록 하는 어노테이션용도: 주로 RESTful API를 구현할 때 사용하며, 메서드의 반환 값을 JSON이나 XML과 같은 형식으로 변환하여 클라이언트에 전송기본 동작: 메서드가 반환하는 객체는 HttpMessageConverter에 의해 변환되어 HTTP 응답 본문으로 사용ex → "Hello, World!" 문..

[Spring boot] Link 데이터베이스 생성, 기능 추가

LinksControllerpackage com.Kkrap.Controller;import com.Kkrap.RequestDTO.LinksDTO;import com.Kkrap.RequestDTO.LinksDeleteDTO;import com.Kkrap.ResponseDto.LinksResponseDTO;import com.Kkrap.ResponseDto.MessageResponseDTO;import com.Kkrap.Service.LinksService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.ResponseEntity;import org.springframework.web.bi..

[Spring boot] JPA 쿼리 메서드 네이밍 및 테이블 및 칼럼 이름 매핑

Spring Data JPA에서 쿼리 메서드 네이밍은 메서드 이름을 기반으로 SQL 쿼리를 자동으로 생성하는 방식이를 통해 개발자는 SQL을 직접 작성하지 않고도 데이터베이스에 접근하고 원하는 데이터를 조회가능1. 쿼리 메서드 네이밍 규칙Spring Data JPA는 쿼리 메서드 이름을 다음과 같은 규칙에 따라 작성findBy: 데이터를 조회할 때 사용countBy: 데이터의 개수를 셀 때 사용deleteBy: 특정 조건에 맞는 데이터를 삭제할 때 사용existsBy: 특정 조건에 맞는 데이터가 존재하는지 확인할 때 사용위의 키워드 뒤에는 필드 이름이 오게 된다. 필드 이름은 엔티티 클래스의 속성과 일치해야 함ex → Users 엔티티에 email이라는 필드가 있다고 가정하면, 이메일로 사용자를 찾기 위..

[Spring boot] users 데이터베이스 생성과 로그인

카카오 로그인을 한 후 응답값을 고민을 좀 해봐야한다.postgreSQL문으로 User table을 만들어보자 PostgreSQL에서 User → 예약어라서 Users로 하던지 “User”로 해야됨 create table User(user_id INT auto_increment, email VARCHAR(100) not null, nickname VARCHAR(100) not null, profile VARCHAR(2000), primary key(user_id));ERROR: syntax error at or near "User"LINE 1: create table User(user_id INT auto_increment, email VARCHAR(... User 클래스 이지만 테이블에 실제 이름은 ..

[Spring boot] 카카오 로그인 Oauth 2.0

카카오 디벨로퍼 사이트 접속Kakao Developers Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 내 애플리케이션에서 앱 이름, 사업자 정보 등 기입 사업자 정보는 그냥 앱이름이랑 같이했음이렇게 4가지가 있는데 REST API 키를 복사한다 이게 서버에서 사용할 client-id값이 된다.밑에 플랫폼에 들어가서 이렇게 작성 이제 여기에 들어가주면 됨동의 항목 설정이메일도 필요하니이제 활성화 설정을 on을 해주고리다이렉트 url을 이렇게 작성하는데 밑 처럼 작성을 한다.Spring OAuth2 Client 라이브러리를 사용하면 기본적으로 Red..

[Spring boot] java22 → java21 컴파일 변경

갑자기 이런 에러가 나온다..찾아보니 현재 자바 22가 베타 버전이라서 그럴 수 있다라고 하는 것임 그래서 자바 21로 컴파일을 진행해보자Executing pre-compile tasks…Running 'before' tasksChecking sourcesParsing java… [Kkrap.main]java: error: invalid target release: 22Checking dependencies… [Kkrap.main]Dependency analysis found 0 affected filesErrors occurred while compiling module 'Kkrap.main'javac 21.0.2 was used to compile java sourcesFinished, saving ..

[Spring boot] 폴더 구조

Model2 구조임Spring Boot에서 Model2 방식(MVC 패턴)을 사용하는 전형적인 예제각 기능이 별도의 패키지로 분리되어 있고, 이는 Model2 구조의 핵심 개념인 역할의 분리를 잘 나타낸다 Controller 패키지: 이 패키지는 사용자의 요청을 받아 처리하는 컨트롤러 클래스들을 포함. 컨트롤러는 요청을 처리하고, 필요한 데이터를 서비스 계층에 요청한 후, 결과를 뷰에 전달하는 역할Service 패키지: 이 패키지는 비즈니스 로직을 처리하는 서비스 클래스들을 포함. 서비스 계층은 컨트롤러와 모델(Entity) 사이에서 비즈니스 규칙을 적용하거나 데이터를 가공하는 역할Repository 패키지: 이 패키지는 데이터베이스와의 상호작용을 담당하는 리포지토리 클래스들을 포함합니다. 모델(Enti..

[Spring boot] Logger 설정

logback-spring.xml 파일 만들기 application.properties###LOGGER#이 설정은 Hibernate가 생성하는 SQL 쿼리를 포맷팅하여 출spring.jpa.properties.hibernate.format_sql=true#이 설정은 Hibernate가 실행하는 SQL 쿼리를 DEBUG 레벨로 로깅logging.level.org.hibernate.SQL=DEBUG#설정을 통해 쿼리에 전달되는 실제 파라미터 값을 로그로 확인logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE logback-spring.xml %yellow(%d{ISO8601}) %..