728x90
반응형
- [ 언어·프레임워크/Spring Boot ][Spring Boot] application.properties 환경별 설정2024-11-04 13:24:141. application.properties 환경별 설정개발 환경, 로컬 환경, 프로덕트 환경에 따라서 application.properties 설정을 각각 달리하여 관리할 수 있다.아래 코드는 dev, local, prod로 설정을 관리하는 예이다. resources 폴더 내에 resources-dev, resources-local, resources-prod 폴더를 각각 생성하여 관리하는 방식이다.# resources/resources-dev/application.propertiesspring.profiles.active=dev # 이 속성 값을 추가하여 관리한다!# application-dev.propertiesdb.url=jdbc:mysql://dev-db-urldb.username=dev-u..
- [ 언어·프레임워크/Spring Boot ][Spring Boot][TROUBLESHOOTING] 6초 이상의 첫 로딩 시간 문제 해결2024-05-20 17:08:361. 6초 이상의 첫 로딩 시간문제백엔드는 Spring Boot, 프런트엔드는 React.js로 작성된 서비스이다. 이 서비스에 접근하면 6초 이상의-극악의-로딩 시간이 필요했다. 2. 원인크롬 개발자 도구에서 확인해 보니 전체 로딩 시간 중 5초 이상을 백엔드 API 호출이 차지하고 있었다. 백엔드 코드(서비스 클래스)를 확인해 보니 API 호출 시 GET과 UPDATE 요청이 각각 순차적으로 이루어지며, UPDATE 요청이 완료되면 GET 요청 결과를 응답하도록 작성되어 있었다. UPDATE 요청도 여러 번 시도되고 있었기 때문에 이 부분에서 병목 현상이 발생하고 있다고 보았다. 3. 비동기 처리하여 1초 미만으로 개선UPDATE 요청을 비동기 처리하여 GET 요청이- UPDATE 요청이 완료될 때..
- [ 언어·프레임워크/Spring Boot ][Spring Boot] LocalDateTime과 DB의 시간 데이터 불일치, 쿼리 오작동 문제(DateTimeFormatter으로 해결)2024-05-09 11:13:171. 날짜 조건 검색 시 불일치 문제Spring Boot에서 MyBatis를 이용해 DB 데이터를 조회하였다. 조회 조건에서 시간을 기준으로 조회하는 경우 기준 시간 이후의 데이터가 와야 하는데 그 이전 시간 데이터도 함께 오는 현상이 발생했다. 2. DateTimeFormatter으로 해결서버의 날짜 데이터의 경우 "2024-05-09 08:17:25"와 같은 문자열 형식으로 저장되어 있다. LocalDateTime 타입의 시간으로 조회 시 제대로 된 조회가 되지 않았다. DateTimeFormatter를 이용해 "yyyy-MM-dd HH:mm:ss" 형식의 문자열로 변경하여 쿼리를 날리니 정상적으로 조회가 되었다.LocalDateTime now = LocalDateTime.now();LocalDate..
- [ 언어·프레임워크/Spring Boot ][Spring Boot] ubuntu에서 git clone 후 gradle build하기2024-05-09 09:58:521. git clonegit clone https://postforty:@github.com/postforty/.git📢 application.properties 파일 빠트리지 않도록 주의! 2. gradle build./gradlew build위 명령어 실행 후 "-bash: ./gradlew: Permission denied" 에러가 발생한다면 아래 명령어로 gradlew에 권한을 부여한다.chmod +x ./gradlew기존 build 폴더를 지우고 다시 빌드하고자 한다면 아래와 같이 진행하면 된다../gradlew clean # build 폴더 삭제./gradlew clean build # build 폴더 삭제 후 빌드
- [ 언어·프레임워크/Spring Boot ][Spring Boot] gradle lombok Slf4j로 테스트 코드 로그 찍기2024-04-10 15:52:531. DEBUG CONSOLE에 Slf4j 로그가 찍히지 않는 문제 코딩하는 오후 채널의 "스프링 부트 : 보안"을 실습하던 중에 테스트 코드를 실행했는데 DEBUG CONSOLE에 로그가 찍히지 않는 문제가 있었다. 구글링을 통해 이 문제를 해결했고 해당 영상에 없는 내용이라 이 글을 작성하여 정리하고자 한다. 😉 코딩하는 오후 "스프링 부트 : 보안" 동영상 강의 : https://youtu.be/3CY2pk-Ug10?feature=shared 2. lombok 테스트 코드용 설정 2.1. 의존성 설정 build.gradle 파일의 의존성(dependencies)에 아래 코드를 추가해야 한다. testCompileOnly 'org.projectlombok:lombok' testAnnotationPro..
- [ 언어·프레임워크/Spring Boot ][Spring Boot] MySQL 연동 application.yml 설정2024-04-08 12:44:281. MySQL 연동 실패 MySQL 연동 시 application.yml 파일의 database-platform 속성을 MySQLDialect로 작성해야 한다. 이렇게 설정하지 않고 시도했을 때 아래와 같은 에러를 만났었다. org.hibernate.boot.registry.selector.spi.StrategySelectionException: Unable to resolve name [org.hibernate.dialect.MySQL57Dialect] as strategy [org.hibernate.dialect.Dialect] 2. application.yml 설정 사례 Spring boot에서 MySQL 연동을 위해 application.yml을 다음과 같이 설정해 주었고 연동에 성공했다! # ..
- [ 카테고리 없음 ][Spring Boot]점프 투 스프링부트 실습 중 h2 db에 insert가 되지 않는 현상2023-07-31 13:53:38점프 투 스프링부트 실습을 진행하고 있습니다. 실습 프로젝트를 깃허브를 통해 관리하고 있는데요, 데스크톱에서 작업하던 프로젝트를 노트북에서 계속 진행하려고 환경 설정을 새롭게 하고 있었습니다. 그런데 db에 insert가 되지 않는 문제로 인해 애를 먹었습니다. db에 insert 시도는 JUnit 테스트를 이용해서 진행하였습니다. 해당 실습 내용은 "점프 투 스프링부트"의 2-05 레포지터리(https://wikidocs.net/160890)입니다. 문제의 원인은 @Transactional 때문이었습니다. 해당 어노테이션을 주석 처리하니 데이터가 정상적으로 insert가 잘되었습니다. JUnit 테스트가 성공인데 데이터는 들어가지 않고 아주 애를 먹었었는데 이 어노테이션이 롤백을 시킨 것이 아닐까 추축..
- [ 언어·프레임워크/Spring Boot ][Spring Boot][Trouble Shooting] Windows에서 8080포트 죽이기 : Web server failed to start. Port 8080 was already in use.2022-09-13 11:52:39java -jar 파일명.jar gradle로 빌드한 jar 파일을 위 명령어로 실행했는데 8080 포트가 이미 사용 중이라는 에러가 발생했다. 코드를 수정하고 다시 빌드하는 일은 번거롭기 때문에 기존에 실행 중인 8080 포트를 죽이기로 했다. Microsoft Windows [Version 10.0.19044.1889] (c) Microsoft Corporation. All rights reserved. C:\Users\J\Documents\GitHub\spring-boot-webservice-java11\spring-webservice\build\libs>java -jar spring-webservice-0.0.1-SNAPSHOT.jar . ____ _ __ _ _ /\\ / ___'_ __ _ _..
728x90
반응형