JPA를 통한 Entity 생성 시 필드값에 Double 타입이 존재한다면 JPA가 Double 타입을 인식하지 못하는 경우가 생긴다. 이 때 해결 방법은!double 타입의 columnDefinition 값을 float 또는double precision으로 설정해주면
스프링에서 의존성을 주입하는 방법은 3가지가 있다.생성자 주입 (Constructor Injection)필드 주입 (Field Injection)수정자 주입 (Setter Injection)단일 생성자의 경우 @Autowired 어노테이션을 붙이지 않아도 되지만, 생성
스프링에서 Service를 두고 ServiceImpl 로 이를 구현하는 경우를 볼 수 있다.객체 간의 결합도를 낮추어 변화에 유연한 개발을 하기 위해서이다. 하나의 인터페이스를 구현하는 여러 구현체가 있고 기능에 따라 적절한 구현체가 들어가서 다형성을 주기 위함이다.
리터럴을 이용한 방식 : String s1 = "abcd";new 연산자를 이용한 방식 : String s2 = new String("abcd");리터럴을 사용하면 string constant pool 이라는 영역에 존재하게 되고 new 를 통해 String 을 생성하
프로젝트를 진행할 때 많은 라이브러리들을 활용해서 개발하게 되는데, 그 수가 많아지면 라이브러리를 관리하는 것이 힘들어지는 경우가 생긴다. Maven은 이러한 문제를 해결해 줄 수 있는 도구이다. Maven은 내가 사용할 라이브러리 뿐 아니라 해당 라이브러리가 작동하는
팀원들간의 소통긍정적인 마인드쉴 땐 쉬고, 할 땐 하고튜터님 활용요구사항 합리화부족했던 역할분담배포기한을 못 맞춤역량 부족자신감있게 의견 제시요구사항을 목숨처럼 여기자역할분담 애초에 끝내고 책임감을 더하자배포기한을 목숨처럼 여기자동료를 위해 역량을 끌어올리자
@Pattern 의 message를 통해 검증 메세지 전달Request 객체 앞에 @Valid 사용, Errors 를 통해 유효성 검사 적합 여부를 확인.errors.hasErrors() 메서드를 통해 유효성 검사에 실패한 필드가 있는지 확인.유효성 검사에 실패한 필드
세션 정보 UserDetails에 접근할 수 있는 어노테이션@AuthenticationPrincipal 은 UserDetails 타입을 가지고 있어서 UserDetails 타입을 구현한 PrincipalDetails클래스를 받아 User Object를 얻는다.User
Java 표준 스펙특정 ArgumentResolver를 통해 진행되어 컨트롤러 메소드의 유효성 검증만 가능하다.유효성 검증에 실패할 경우 MethodArgumentNotValidException 발생Spring 제공 기능AOP 를 기반으로 스프링 빈의 유효성 검증을 위
Open Close Principle : 개방 폐쇄의 원칙소프트웨어 구성 요소(컴포넌트, 클래스, 모듈, 함수)는 확장에 대해서는 개방되어야 하지만 변경에 대해서는 폐쇄되어야 한다는 의미.(기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다는
서비스를 추상화함으로써 개발자가 실제 구현부를 알지 못하더라도 해당 기능을 사용할 수 있게된다. 즉, 추상화 계층인 인터페이스 API의 정보를 활용해 해당 서비스의 모든 기능을 이용하면 되는 것이다.PSA는 비즈니스 로직의 수정 없이 해당 추상화 계층을 구현하는 또 다
Aspect-Oriented Programming (관점 지향 프로그래밍)의 약자이다.흩어진 Aspect들을 모아서 모듈화 해줘서 관심사 분리라는 개념을 갖고 객체지향 프로그래밍을 통해 더욱 객체지향적으로 만들어주는 기술.서로 다른 클래스라고 하더라도 비슷한 기능을 하
DI(Dependency Injection)란 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로,객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다.DI(의존성 주입)를 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다.
회원가입 로직을 테스트할 때 Controller, DTO, Service, HTTP 200 까지 전부 문제 없었지만 DB에 값이 입력되지 않는 문제 발견Entity 구성 문제인지 확인DTO 구성 문제인지 확인Service 함수 문제인지 확인JpaRepository 공식
DTO 와 Entity 에서 둘 중 어느 곳에 유효성 검사를 위한 코드를 작성해야 하는가에 대한 의문이 생겼다. Entity에서 생성한다면 DTO에는 필요 없지 않을까?DTO에서 생성한다면 Entity에는 필요 없지 않을까?정답은..이유로는1\. "Controller에
Spring 에서 Controller로 지정해주기 위한 어노테이션은 @Controller 와 @RestController가 있다. @Controller는 전통적인 Spring MVC의 컨트롤러.@RestController는 Restful 웹서비스의 컨트롤러.이 둘의 주
계속 해내는 힘은 어디서?'골디락스 법칙'골디락스 법칙Goldilocks Rule이란 인간은 자신이 할 수 있는 적합한 일을 할 때 동기가 극대화되는 경험을 한다는 것이다."아주 작은 습관의 힘"에서■ 지나치게 어려워도, 지나치게 쉬워도 안 된다. 딱 들어맞아야
https://school.programmers.co.kr/learn/courses/30/lessons/120866좋은 코드인지는 모르겠다..
트랜잭션이란? DBMS 에서 상호작용의 단위. 더 이상 쪼개질 수 없는 최소의 연산이라는 의미.온라인으로 상품을 구매한다고 가정했을 때, 결제를 하는 짧은 시간동안 다음과 같은 일이 벌어진다면?판매자가 상품의 가격을 바꿔서 잘못된 금액이 결제됨.같은 상품을 다른 살마도
우리는 프로그래밍에서 패러다임이 무엇인지, 왜 중요한지 이미 배웠습니다.하지만 우리는 자바-스프링 서버와 관계형 데이터 베이스 모두 함께 사용해야하는데,두 모델에서 패러다임의 불일치가 발생합니다.밀도 문제는 딱히 설명이 필요 없겠죠. 데이터베이스의 데이터가 더 정형화되