본문 바로가기

java

(26)
Github에서 코드 Push하면 바로 실행중인 서버에 Pull 시키는 방법 1. 사용하는 EC2에 git 설치2. 해당 git Repository에 Action 사용 설정  3. Push 후 서버에 적용시킬 .yml파일 작성 후 branch main에 저장    마지막 사진처럼 EC2에 JDK 17버전을 설치할 코드와 Maven 설치 코드 등등을 입력하여 저장한다.이후 서버가 계속 돌아가는 것을 확인할 수 있다.
JPA로 Rest API 생성 이번 포스팅에서는 API 명세서를 보고 API를 생성하는 작업에 대해 포스팅 하겠습니다. 해당 작업은 JPA 방식이나JDBC 방식으로 할 수 있지만 이 글에서는 JPA로 설명드리겠습니다.  1. API 명세서 확인    먼저 API 명세서를 확인하고 데이터베이스를 생성합니다. JPA 방식으로 할 때는 미리 생성하지 않아도 됩니다.이번 글에서는 가볍게 회원가입하는 API만 생성하도록 하겠습니다.2. Controller, Service, Repository, DTO 패키지를 통해 API 구현 3. 보안 설정 확인해당 프로젝트는 기본적으로 로그인 하여 토큰을 입력하지 않으면 접속을 막는 설정이 되어 있습니다.회원가입 하기도 전에 막히면 안되므로 토큰 없이 통과시킬 설정을 하겠습니다.   4. Postman으로..
JPA 라이브러리 사용하기 : Entity와 Repository 생성 1. Entity 패키지 및 클래스 생성DB의 테이블 정보를 표현하는 엔티티 클래스를 생성합니다.  해당 클래스는 DB의 users 클래스와 연결되어 JPA 라이브러리가 테이블을 자동 생성시켜 줄 수도 있고 테이블을 자동으로 생성하게 할 수도 있습니다.2. Repository 패키지 및 클래스 생성JpaRepository를 상속받는 리포지토리 인터페이스를 작성합니다.해당 인터페이스 에는 직접적으로 보이지는 않지만 JPA 라이브러리가 자동으로 생성해둔 메소드를 사용할 수 있습니다. 해당 메소드를 사용하면 MySQL에서 SQL문을 직접 작성하여 사용하는 것과 같은 결과를 볼 수 있습니다.
JPA 알아보기 JPA: 자바 개발자를 위한 ORM의 표준JPA(Java Persistence API)는 자바 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 자바 ORM(Object-Relational Mapping) 표준 기술입니다. JPA를 사용하면 개발자가 데이터베이스와 직접 상호작용하는 복잡한 SQL 쿼리를 작성하지 않고도 자바 객체를 통해 데이터베이스를 쉽게 조작할 수 있습니다.JPA의 주요 특징객체-관계 매핑: 자바 클래스와 데이터베이스 테이블 간의 매핑을 쉽게 정의할 수 있습니다.생산성 향상: 반복적인 CRUD 작업을 자동화하여 개발 시간을 단축시킵니다.데이터베이스 독립성: 특정 데이터베이스에 종속되지 않는 코드를 작성할 수 있습니다.JPA 사용 시 주의사항성능 최적화: 복잡한 쿼리의 경우 J..
FileZilla를 활용한 Spring Boot 서버 배포하기 1. Maven을 활용하여 .jar 파일 패키징  2. target 폴더에 .jar 파일 생성 확인3. filezilla 실행 및 ec2 연결 4. PuTTY에서 서버 연결에 필요한 설정하기제가 만든 EC2는 Linux OS로 돌아가는 일종의 컴퓨터 이기 때문에 .jar 파일을 실행하기 위해서는 jdk 파일을 다운로드 해줘야 합니다. (설치 코드 : sudo yum install java-17-amazon-corretto)설치 확인 후 서버 구동 코드로 서버를 열어줍니다. (코드 : sudo java -jar -Dspring.profiles.active=prod .jar이후 오류 없이 서버가 멈추지 않는다면 실행 완료입니다.
JAVA와 Spring Boot를 활용한 토큰을 이용하여 리뷰 작성하기 1. 로그인 테스트를 통해 토큰 발행 확인하기Postman으로 로그인 테스트를 먼저 실행하여 토큰이 발행됐는지 확인합니다.     2. 리뷰 작성 코드 만들기리뷰를 작성하는 함수를 만들고 발행한 토큰을 확인하는 코드를 추가합니다.    DBeaver에는 user_id, restaurant_id, menu_id를 함께 유니크 키로 묶어 리뷰 중복 작성을 방지했습니다.3. 리뷰 작성 코드 테스트 하고 결과 확인하기Postman 테스트를 통해 결과를 확인하겠습니다.
JAVA와 Spring Boot를 활용한 토큰 발행하기 1. 로그인 함수에 토큰을 생성하여 반환하는 코드 추가기존에 포스팅 했던 로그인 함수에 토큰을 생성하고 반환하는 코드를 추가하겠습니다.           2. 테스트 및 토큰을 생성했는지 확인 Postman으로 테스트를 진행하고 결과값으로 토큰이 생성됐는지 확인합니다.
JAVA와 Spring Boot를 활용하여 비밀번호 암호화 하기 1. Config 패키지 및 관련 클래스 생성Config 패키지를 생성하여 보안설정을 담당할 SecurityConfig 클래스와 JwtConfig 클래스를 생성합니다.  Configuration 어노테이션과 Bean 어노테이션이 핵심이다. 2. Filter 패키지 및 관련 클래스 생성Filter 패키지를 생성하여 토큰 필터링을 담당할 JwtAuthenticationFilter 클래스를 생성합니다.    클래스 설정을 통해 회원가입, 로그인, 조회 API는 필터링에서 제외하였습니다.   3. 회원가입 코드 수정기존 포스팅 했던 회원가입 코드에 비밀번호를 암호화 할 코드를 추가합니다.      4. 테스트 및 데이터베이스에서 암호화 확인Postman으로 테스트를 진행하고 DBeaver를 통해 암호화 처리를 ..