스프링 공부 52

스프링 부트 테스트 코드에서 @Value가 작동하지 않는 문제 해결법

문제상황실제 서버를 작동시켰을 때에는 잘 작동하던 @Value가, 테스트 코드를 돌릴 때에는 작동하지 않는 문제가 발생했다!문제가 발생한 코드는 다음과 같다. Account.java(테스트의 대상이 되는 코드)package 내 프로젝트의 패키지 경로;import lombok.AccessLevel;import lombok.Builder;import lombok.Getter;import lombok.NoArgsConstructor;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.core.env.E..

Spring Security (멋쟁이사자처럼 영상강의) 실습 기록

팀 프로젝트에서 회원가입,로그인 파트를 맡게 되었다. 이를 위해 Spring Security를 배워야 해서 구글링을 하다가, 다음의 플레이리스트를 발견했다. https://www.youtube.com/playlist?list=PLAdQRRy4vtQTJawYfraUTUf6rCfWFYqKj 멋쟁이 사자처럼 백엔드 www.youtube.com 우리 팀 프로젝트와 버전 차이가 크지 않아 나에게 딱 맞는 강의였다. 강의의 내용도 좋았다. 이 게시글은 이 플레이리스트의 40번 강의부터 52번 강의까지를 들으며 진행한 실습 내용 기록이다. 프로젝트 생성 Spring Initializr (https://start.spring.io/) 를 이용하여 다음과 같은 프로젝트를 생성하였다. 일부러 강의가 아닌 우리 팀 프로젝트..

MySQL&스프링 부트 - DB에 생성날짜가 null로 들어갈 때

https://github.com/Efub3-InternToyTeam2/Backend GitHub - Efub3-InternToyTeam2/Backend: 2023년 1학기 EFUB 프론트-백 인턴 합동 토이프로젝트(트위터 클론코 2023년 1학기 EFUB 프론트-백 인턴 합동 토이프로젝트(트위터 클론코딩)의 백엔드 리포지토리 - GitHub - Efub3-InternToyTeam2/Backend: 2023년 1학기 EFUB 프론트-백 인턴 합동 토이프로젝트(트위터 클론코딩)의 github.com 위의 리포지토리에 있는 EFUB 인턴 합동 토이프로젝트를 개발하다가, 저번에 했던 실수를 또 다시 저질러서 다시는 잊지 않고자 메모한다. 나는 BaseTimeEntity를 사용해 생성 및 수정 날짜를 관리하는 ..

[스프링부트] 파이어베이스 연동 & 데이터 저장 & 파일 업로드까지

서론 파이어베이스(Firebase)는 구글이 소유한 모바일 어플리케이션 개발 플랫폼이다. 어플리케이션 개발을 위한 다양한 기능을 제공한다. 토이프로젝트나 과제 등에 파이어베이스의 Firestore Database와 Storage를 사용하면, 돈 한 푼 내지 않고 원격 저장공간을 사용할 수 있다. 사용 용량, 요청 횟수 등의 지표가 일정 기준을 넘지만 않으면 무료로 이용할 수 있다. 예상치 못한 원인으로 인해 갑자기 지출이 발생하는 일이 AWS에 비해 적어서 좋다고 생각한다. 팀원과 데이터를 실시간으로 공유하며 작업해야 할 때 굉장히 편리하다. 그러나 Java 및 스프링부트로 파이어베이스를 사용하는 방법에 대한 자료는 찾기가 굉장히 어렵다. JavaScript 자료만 많고, Java 자료는 잘 보이지 않는..

EFUB 7주차 과제 Postman 테스트 캡처

ID를 기준으로 댓글 조회 특정 게시글에 댓글 추가 특정 유저가 단 댓글 조회 위의 캡처에서 anonymous 값은, 댓글이 달린 게시글의 익명 여부임. 댓글이 달린 게시글의 익명 여부까지는 리턴할 필요가 없을 것 같아서, MemberCommentsResponseDto를 수정하였음. 수정 후의 테스트 캡처는 아래와 같음. 삭제 테스트까지 다 마친 후이기 때문에, commentId 5번 댓글은 삭제되고 없음. 특정 게시글에 달린 댓글 조회 댓글 수정 댓글 삭제

3-1. 새로운 할인 정책 개발

이번 시간에는, 할인 정책이 변경되었다고 가정하고 그 할인 정책에 맞게 코드를 수정해볼 것이다. 현재 코드는 VIP 고객에게 1000원을 할인해주는 방식으로 짜여져있는데, 오늘은 VIP 고객에게 구매 가격의 10%를 할인해주는 코드를 짤 것이다. src > main > java > hello.core > discount 패키지 안에 DiscountPolicy를 implement하는 RateDiscountPolicy를 하나 만들어준다. 코드는 다음과 같이 채운다. member 가 VIP라면 구매가격의 10%를 return하고, 그렇지 않으면 0을 리턴하는 함수를 만들었다. 여기서 기억할 것이 있다. 알고리즘 문제를 풀 때, 나눗셈 때문에 낭패를 본 경험이 있을 것이다. 나눗셈은 오차를 발생시킨다. 그러므로..

Spring으로 옷 세탁 정보 관리 웹사이트 만들기

java 기반 프레임워크 Spring을 이용하여 옷의 세탁 방법에 대한 정보를 관리하는 백엔드 시스템을 구현해보자. 백엔드 중심의 프로젝트이며, 프론트엔드는 기초적인 정도만 사용한다. 목차 요구사항 정리 시스템 구성의 이해 개발 환경 준비 스프링 부트를 이용한 프로젝트 생성 도메인 만들기 리포지토리 만들기 리포지토리 테스트 서비스 만들기 서비스 테스트 SpringConfig 파일을 이용한 스프링 빈 등록 컨트롤러 및 html 구현 최종 테스트 요구사항 정리 먼저 시스템의 요구사항을 정리하자. 우리는 무엇을 만드는가 우리가 만들 것은, 사용자가 자신이 가지고 있는 옷의 세탁 정보를 저장하고, 조회하고, 삭제할 수 있는 웹사이트이다. 옷 정보 객체는 어떻게 생겼는가 각 옷 정보 객체는 다음의 정보를 담고 있..