목록spring (5)
작은 지식주머니
여기까지 온 사람이면 대충 Mockito에 대해서는 알고 있을테니 적당히 작성하도록 하겠습니다. 보통 Unnecessary stubbings detected에 대한 에러는 then 또는 given , when 등에서 사용된 로직이 사용되지 않았을 경우 발생합니다. 첫번째 해결 방법으로는 given 으로 사용하였을떄 그 행위를 선언하고나서 행위를 행하시면 됩니다. 예시코드 ) SignUpForm form = formCustomer(); // Customer를 생성하는 메서드 given(customerInfoRepo.findById(1L)).willReturn((Optional.of(customer))); CustomerInfoVo newMember = customerInfoService.signUp(for..

따라하지말고 보기만하세요 별로 좋지 않은 코드덩어리입니다. 개인 공부용 내용입니다! 저번 글에서 회원가입 API까지 만들고 그만둔것 같은데 이번에는 로그인 API를 만들려고 한다. 로그인을 위해서 나는 JWT토큰을 사용하기로 하였다 이유는 간단하다. 전자 서명된 토큰을 이용한다면 스케일 문제를 해결할 수 있기 떄문이다. 또한 사용법이 간단하기 때문에 사용하였다. Json Web Token(JWT)는 header, payload, signature 로 이루어져있다. header = [typ = type의 약자, alg = 사용된 알고리즘의 종류] payload = [sub = 토큰의 주인, iss = 토큰을 발행한 주체, iat = 발행된 날짜,시간, exp = 토큰이 만료되는 시간] signature =..

개인 토이 프로젝트입니다. 만약 초보자분들이시라면 따라하지마세요. 분명 하자가 있습니다. 저번 글에 이어 Repository패키지를 만들고 그 안에 JpaDataSpring을 사용하여 MemberRepository를 만들었습니다. 필요한 메서드를 적당히 만들고 대부분 간단한 쿼리는 전부 Jpa데이터가 만들어주므로 사용하면 됩니다. package com.todo.todoP.Repository; import com.todo.todoP.Entity.Member; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; public interface MemberRepository extends JpaRepository..

개인적으로 JPA를 공부하고 활용하기 위해서 만들기 시작한 프로그램이며 아직 테스트 단계임을 알립니다. 코드 리팩토링도 하찮고 뭔가 하찮긴 합니다. https://start.spring.io/ 해당 사이트에서 프로젝트를 생성하였고 의존관계는 일단 위에있는 다섯 개만 주입하였습니다. 기타 설정들 입니다. 초기 설정이 끝나고 실행을 하기 위해서 application.yml의 세팅을 변경하였습니다. spring: datasource: url: jdbc:h2:tcp://localhost/~/todop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: format_..
클린코드로 유명한 로버트 마틴이 좋은 객체 지향의 설게의 5가지 원칙을 정리. SRP : 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호. 클 수 있고, 작을 수 있음. 문맥과 상황에 따라 다르다. 중요한 기준은 변경이다. 변경이 있을 떄 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것 EX) UI 변경, 객체의 생성과 사용을 분리 OCP : 개방 - 폐쇠 원칙 소프트웨어 요소는 확장에는 열려? 있으나 변경에는 닫혀? 있어야 한다. 다형성을 활용 EX) MemberService 클라이언트가 구현 클래스를 직접 선택 구현 객체를 변경하면 클라이언트 코드를 변경 해야함 분명 다형성을 사용했지만 OCP 원칙을 지킬 수 없음. 인터페이스를 구현한 새로운 클래스를 하나 만들..