Backend/SpringBoot 14

[SpringBoot] SpringBoot와 PostgreSQL 연동하기

프로젝트에 사용할 데이터베이스로 PostgreSQL, MongoDB를 사용할 예정이다.오늘은 로그인 테스트를 위해 PostgreSQL을 스프링부트에 연동해볼 것이다!! 1. PostgreSQL 설치https://www.postgresql.org/download/ PostgreSQL: Downloads www.postgresql.org위 링크에서 PostgreSQL을 다운받고 설치해주자 2. SQL Shell (psql)에서 PostgreSQL 접속설치 완료 후 Window 탐색창에 SQL Shell을 검색해서 열어준다. Server [localhost]: Enter 누르기Database [postgres]: Enter 누르기Port [5432]: Enter 누르기Username [postgres]: En..

Backend/SpringBoot 2024.10.16

[SpringBoot] SpringInitilaizr 프로젝트 생성 후 gradle 빌드 초기 세팅

SpringInitializr에서 gradle 프로젝트를 생성한 후 Intellij에서 open해 빌드를 하려고 한다. (스프링부트 3.3.4 버전, Java 17, Gradle 8.10.2) 1. Java 17 다운로드 및 시스템 환경 변수 설정기존에 사용하던 노트북 환경이 아닌 새로운 환경에서 작업을 시작했는데, Java 환경 변수 설정에 대해 아무 생각도 안하고 있었다. Gradle은 내부적으로 Java를 사용해 작업을 수행하기 때문에 JAVA_HOME이 올바르게 설정되어 있지 않으면 Gradle이 Java를 찾지 못해 빌드가 실패하게 된다. (프로젝트에서 SDK 설정을 Java 17로 해놓았으나 System Path에 Java 17에 대한 경로가 없었기 때문에 빌드가 실패했다.) https://w..

Backend/SpringBoot 2024.10.15

[Linux/Docker] Redis, MySQL Docker 이미지를 사용해 시스템 사용해보자

Docker로 Redis 실행하기키-값 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반 비관계형 데이터베이스 관리 시스템  - redis 이미지를 다운로드 받기-d : background로 실행하는 옵션-p : port 지정 host port : redis port - Telnet 테스트 -> 로컬호스트에 연결→ mykey라는 key 값에 hello라는 value를 세팅하고 get을 통해 확인하기 → 나올 때는 ctrl + ]→ ‘’ 입력해서 connection 종료하기   Docker로 MySQL 실행하기MYSQL_ALLOW_EMPTY_PASSWORD : 비밀번호 설정하지 않는 옵션 -> 비밀번호 설정하지 않고 mysql 접속하려 했더니 ACCESS DENIED 에러 발생 - 에러나면서 ..

Backend/SpringBoot 2024.08.23

[SpringBoot] QueryDSL에 대해 알아보고 사용해보자

QueryDSL정적 타입을 이용해 SQL과 같은 쿼리를 코드로 작성할 수 있게 하는 프레임워크이다.자바 애플리케이션에서 타입 안전한 쿼리를 작성할 수 있도록 도와주며 SQL, JPQL, MongoDB 쿼리 등 다양한 쿼리 언어에 대해 타입 안정성을 제공해, 컴파일 타임에 쿼리의 오류를 잡을 수 있다. - 타입 안전한 쿼리QueryDSL은 컴파일 타임에 쿼리의 오류를 검출할 수 있게 해준다. SQL, JPQL, MongoDB 등 다양한 쿼리 언어를 사용해 타입 안전한 쿼리를 작성할 수 있는 방법을 제공한다. 쿼리의 구문 오류가 필드 오류를 코드 작성 시점에서 발견할 수 있기 때문에 런타임 오류를 줄일 수 있다. - Q 클래스QueryDSL은 Entity에 대한 Q 클래스를 생성한다.Q 클래스는 Entity..

Backend/SpringBoot 2024.08.22

[SpringBoot] JUnit을 사용해 테스트 코드를 작성해보자

JUnit을 이용한 테스트 코드 작성JUnit 생명 주기 (Life Cycle) 코드 작성을 통한 어노테이션 동작 확인@Test : 테스트 코드를 포함한 메서드 정의@BeforeAll : 테스트를 시작하기 전에 호출되는 메서드 정의@BeforeEach : 각 테스트 메서드가 실행되기 전 동작하는 메서드 정의@AfterAll : 테스트를 종료하면서 호출되는 메서드 정의@AfterEach : 각 테스트 메서드가 종료되면서 호출되는 메서드 정의 Spring Data JPA 활용하기JPQLJPA Query Language, JPA에서 사용할 수 있는 쿼리를 말한다. - JPQL 쿼리의 기본 구조SELECT p FROM Product p WHERE p.number = ?1;Product : 엔티티 타입p.numb..

Backend/SpringBoot 2024.08.22

[SpringBoot] MariaDB 데이터베이스를 연동해보자

MariaDB 다운로드하기https://mariadb.org/download/?t=mariadb&p=mariadb&r=11.3.2&os=windows&cpu=x86_64&pkg=msi&mirror=blendbyte Download MariaDB Server - MariaDB.orgREST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server"mariadb.org → root 비밀번호 설정 후 [Use UTF8 as default server’s character set] 체크 박스 체크→ 기존에 설치했던 MySQL이 포트번호 3306을 쓰고 있어서 발생한 에러 메시지→ 3307로 수정 후 Install MariaDB..

Backend/SpringBoot 2024.08.22

[SpringBoot] 로깅 라이브러리 Logback을 이용해 로그를 확인해보자

로깅(Logging) 애플리케이션이 동작하는 동안 시스템의 상태나 동작 정보를 시간 순으로 기록하는 것디버깅이나 개발 이후 발생한 문제 해결 시 원인 분석할 때 필요한 기능 - resource 하위에 logback xml 파일 업로드 - Logback 설정 후 refresh - Talend API Tester에서 해당 controller로 GET 요청 - IntelliJ에서 로그 확인 - 해당 프로젝트가 있는 경로에서 log 파일로도 확인 가능

Backend/SpringBoot 2024.08.22

[SpringBoot] 다양한 방법으로 POST API를 생성해보자

GET API에서는 URL 경로나 파라미터에 변수를 넣어 요청을 보낸다.POST API에서는 저장하고자하는 리소스나 값을 HTTP 바디에 담아 서버에 전달한다. POST 메서드 구현을 위해 새로운 Controller 클래스를 생성해놓았다.  @RequestMapping을 이용한 POST 메서드 구현→ 브라우저에서 주소를 입력하는 것은 GET 방식이므로 POST API 요청시 다음과 같은 405 에러 발생 - Talend API Tester로 POST 요청 확인하기    @RequestBody를 이용한 POST 메서드 구현일반적으로 POST 형식의 요청은 클라이언트가 서버에 리소스를 저장하는 데 사용한다HTTP Body에 리소스를 담아서 POST 요청JSON 형식으로 값을 주고 받는다 (key:value의..

Backend/SpringBoot 2024.08.22