반응형

Spring 4

H2 Database + Spring JPA 연동

H2 DB H2 DB는 자바 기반의 오픈소스 관계형 데이터베이스 관리 시스템이다. 보통 테스트 단계나 작은 단계에서 사용이 되며, Gradle이나 Maven에 의존성만 추가해주면 빠르게 이용이 가능하다. 이러한 H2 DB 는 3가지 모드로 지원된다. In-memory Embedded Mode Server Mode Inmemory mode WAS 구동시에 H2 DB의 데이터를 메모리에 올려서 관리하는 방법이다. WAS가 종료되면, 메모리에 올라가있던 모든데이터가 휘발성으로 사라진다. 즉 이방식을 사용하면 휘발성으로 테스트등에 사용하기 적합하다. Embedded Mode WAS 구동시에 H2 DB를 PC의 디스크에 저장하여 관리하는 방식이다. In-memory와 달리 데이터가 사라지지 않는 비휘발성모드이기 ..

BackEnd🧵 2023.11.04

[Spring] javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotBlank'

@NotBlank @Email private String email; @NotBlank(message = "이름은 1글자 이상 입력되야합니다.") private String name; @Pattern(regexp = "^010-\\d{3,4}-\\d{4}$", message = "휴대폰 번호는 010으로 시작하는 11자리 숫자와 '-'로 구성되어야 합니다.") private String phone; @NotBlank private long password; 위와 같이 Post요청에 대한 DTO를 구성하였는데 Post 요청시에 에러가 발생하였다. javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constr..

Error Logs🐾 2023.07.10

[Spring] DTO

DTO? DTO란? DTO(Data Transfer Object)의 약자로 마틴파울러가 소개한 애플리케이션 아키텍처 패턴중의 하나이다. DTO는 프로세스간의 데이터를 전달하는 용도의 객체이다. DTO가 필요한 이유 코드의 간결성 DTO를 사용하게 되면 코드가 간결해진다. 예를 들어 회원정보를 @RequestParam을 통해 이메일, 이름, 주소 등의 정보를 받는다고 생각해보자. 그럼 컨트롤러의 해당 메서드에 받으려는 정보의 숫자만큼 @RequestParam이 필요할것이다. 하지만 Dto를 적용하게된다면? //DTO 적용전 @PostMapping public ResponseEntity postMember(@RequestParam("email") String email, @RequestParam("name"..

BackEnd🧵 2023.07.09

[Spring] Controller

Spring MVC의 동작방식 1. 클라이언트(웹브라우저)에서 요청을 전송하면 DispatcherServlet이라는 클래스에요청이 전달된다. 2. - 은 클라이언트의 요청을 처리할 Controller에 대한 검색을 HandlerMapping 인터페이스에게 요청한다. 3. HandlerMapping은 클라이언트 요청과 매핑되는 핸들러 객체를 다시 DispatcherServlet에게 리턴해준다. 4. 요청을 처리할 컨트롤러는 찾았고 실제 요청을 처리할 Handler 메서드를 찾아서 호출한다. HandlerAdapter에게 이 작업을 위임한다. 5. HandlerAdapter는 DispatcherServlet으로부터 전달받은 Controller 정보를 기반으로 해당 Controller의 Handler메서드를 ..

BackEnd🧵 2023.07.07
반응형