Spring 6

Spring Boot MySQL 연결하기 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

Docker를 활용해 MySQL을 생성하고 Docker ps 명령어로 정상적으로 실행되는 걸 확인했다면 이제 Spring과 연결을 할 수 있습니다. 하지만 저는 연결하는 과정에서 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)라는 에러를 직면했습니다. 이 에러는 비밀번호를 틀렸을 경우에도 나올 수 있습니다. 하지만 저는 아래의 명령어로 생성했고 비밀번호는 1234였습니다.docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 --name mysql mysql이 과정에서 yml파일의 경우 아래와 같이 등록이 되어 있었기에 비밀번호와 url 모두 맞..

Spring 2024.04.20

레이스 컨디션이란?

레이스 컨디션이란 Multi Thread 환경을 사용하다 보면 직면하는 문제이며 둘 이상의 프로세스 혹은 스레드가 공유 데이터에 엑세스 할 수 있고 동시에 변경을 시도 할 때 발생하는 문제이다. Multi Thread란 하나의 프로세스 안에서 2개 이상의 Thread가 작업하는 것을 말하며 메모리의 Heap과 Data 영역을 서로 공유하게 된다. 그렇기 때문에 같은 Data를 동시에 작업을 할 수 있기 때문에 레이스 컨디션이 발생할 수도 있다. 정상적으로 Thread가 동작시에는 아래와 같이 Thread-1이 재고를 1 감소 시키고 Thread-2가 재고의 수량을 확인후 다시 1을 감소시키는 작업을 할 수 있다. 하지만 아래와 같이 Thread-1이 재고를 감소시키고 DB에 반영되기전의 Stock의 상태..

Spring 2024.04.18

Spring Security Request method 'GET' not supported 에러

Spring Security를 활용하여 JWT를 구현하다 보니 html과 붙지 않는 오류를 발견했다 postman으로 값을 보낼 시 해쉬코드 암호화 하여 mysql에 잘 저장되었지만 local환경에서 실행해보니 Request method 'GET' not supported라는 에러를 발견했다. 에러의 구문은 다음과 같다. 2023-01-27 18:53:14.566 ERROR 19308 --- [nio-8080-exec-3] c.e.a.handler.GlobalExceptionHandler : error org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported..

Spring 2023.01.27

Spring boot Mysql dbeaver연동 삽질

총 2일 동안 H2가 아닌 Mysql을 springboot와 연동하기 위해 어마어마한 삽질을 했다. JDK11 사용, Spring boot 2.7.1사용 먼저 설정하는 것만이 중요할 수 있기에 아래와 같이 설정을 할 수 있다. 먼저 아래의 글을 참조한 뒤 Mysql을 설치한 후 Table을 mysql로 생성하였다. 생성시 사용한 table명을 스키마 명으로 사용되니 기억해야 한다. MYSQL 윈도우 설치 글 : https://goddaehee.tistory.com/277 # MySQL8 설정 spring.datasource.url=jdbc:mysql://localhost:3306/스키마명?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC spring.da..

Spring 2023.01.17