본문 바로가기

Backend/SpringBoot

(29)
Spring Boot Validation을 사용하여 요청 값 검증하기 전체 코드는 Github에서 확인이 가능합니다. Bean Validation 도메인 로직에서 값을 검증할 수 있게 도와주는 인터페이스이다. (참고:Java와 Spring의 Validaiton) 주요 어노테이션들은 아래와 같다. /** * 직접 검증을 하고 싶을 때 사용 */ @AssertTrue @AssertFalse /** * 문자열을 다룰 때 사용 */ @NotNull // null 불가능 @NotEmpty // null, 빈 문자열(스페이스 포함X) 불가 @NotBlank // null, 빈 문자열, 스페이스만 포함한 문자열 불가 @Size(min=?, max=?) // 최소 길이, 최대 길이 제한 @Null // null만 가능 ​ /** * 숫자를 다룰 때 사용 */ @Positive // 양수..
DAO, DTO 차이점 개발을 하다가 DAO, DTO의 개념이 헷갈려서 정리를 하게 되었다. DAO(Data Access Object)란? - 실제로 데이터베이스에 접근을 하기 위해 생성하는 객체 DTO(Data Transfer Object)란? - 데이터 교환을 위해 사용하는 객체 - DB의 데이터를 Controller 혹은 Service로 보낼 때 사용 - getter, setter를 가지고 있는다. - DTO vs VO - VO는 DTO와 비슷하지만, 수정할 수 없다. ( getter만 있는 것이라고 생각하면 됨)
스프링부트의 디렉토리(패키지) 구조와 역할 스프링부트의 디렉토리(패키지) 구조와 역할 프로젝트마다 디렉토리(패키지) 이름은 변경되거나 추가될 수 있습니다. 처음 스프링부트를 공부할 때, 무작정 게시판 만들기를 따라했다. 하지만 MVC 패턴에 대해 제대로 알지 못했던 나는 너무나도 생소한 패키지 이름들에 이해가 하나도 안 갔었다. 그 기억을 되살려 간단하게 정리해보려고 한다. Model… Repository… Service… 다 처음 듣는 이름의 디렉토리들이였다. 물론 패키지 이름은 딱 이거다!라고 정해진 게 아니라서 이름이 제각각이지만, 결국 하는 역할은 비슷하다. 이름은 가장 자주 듣는다고 생각하는 패키지 이름으로 써놓았지만 위에서도 말했듯이 절대 절대적이지 않다. 각 패키지가 하는 일 Model(또는 Domain 또는 Post … ) 테이블의..
SpringBoot + JPA + Thymeleaf로 간단한 CRUD + Travis CI 사용해보기 프로젝트 SpringBoot + JPA + Thymeleaf로 간단한 CRUD + Travis CI 사용해보기 프로젝트 SpringBoot & Thymeleaf & JPA (& H2 & lombok) 예제를 사용한 아주 간단한 예제를 찾다가 괜찮은 CR 기능의 예제가 있어서 삭제 기능(D)까지 추가하여 포스팅을 하게 되었다. (*업데이트(U) 기능은 없다.)원본 링크는 맨 아래 참고 문서에서 확인이 가능하다.또한, 소스코드는 깃허브(shinsunyoung/springboot_study_CRUD)에서 확인이 가능하다. 개발환경 IntelliJ IDEA Ultimate JAVA JDK 1.8 SpringBoot 1.5.10.RELEASE Gradle 프로젝트 구조 controller, model, repository..
IoC, DI 개념과 간단한 예제 최근에 다시 공부하며 정리한 내용을 업로드했습니다! 이 글보다는 > https://shinsunyoung.tistory.com/133 < 포스팅을 읽는 것을 추천드립니다. IoC/DI 스프링 공부를 하면 가장 기본적인 내용이자 가장 어려운 내용이지만 중요한 내용인 IoC와 DI에 대해 정리해보았다. 컨테이너란? IoC와 DI를 이해하기 전에 먼저 이해해야 할 개념이 있다. 그것은 바로 '컨테이너'이다. 컨테이너란, 우리 대신 객체의 생성과 소멸 같은 부분을 전담해주는 역할을 한다. 비유를 하자면 주식을 주식 전문가에게 맡기는 것과 같다고 생각하면 된다. IoC란(Inversion of Control)? 그대로 해석을 돌리면 제어의 역전이라고 한다. 제어는 무언가를 조종하고 다루는 것, 역전은 바뀌는 것..