본문 바로가기

DTO

(3)
[스프링부트/AWS] 3장 스프링 부트에서 JPA로 데이터베이스 다뤄보자(2/2) - Spring 웹계층, CRUD API, Auditing - Spring 웹 계층 API를 만들기 위해 총 3개의 클래스가 필요합니다. Request 데이터를 받을 Dto API 요청을 받을 Controller 트랜잭션, 도메인 기능 간의 순서를 보장하는 Service 여기서 많은 분들이 오해하고 있는 것이, Service에서 비즈니스 로직을 처리해야 한다는 것입니다. 하지만, 전혀 그렇지 않다고 합니다. Service는 트랜잭션, 도메인 간 순서 보장의 역할만 합니다. 1) Web Layer 흔히 사용하는 컨트롤러(@Controller)와 JSP/Freemarker 등의 뷰 템플릿 영역입니다. 이외에도 필터(@Filter), 인터셉트, 컨트롤러 어드바이스(@ContollerAdvice) 등 외부 요청과 응답에 대한 전반적인 영역을 이야기 힙니다. 2) Ser..
[스프링부트/AWS] 3장 스프링 부트에서 JPA로 데이터베이스 다뤄보자(1/3) - JPA 스프링을 배울 때는 Mybatis와 같은 SQL매퍼(Mapper)를 이용해서 데이터베이스의 쿼리를 작성했습니다. 그러다 보디 실제로 개발하는 시간보다 SQL을 다루는 시간이 더 많았습니다. 관계형 데이터베이스를 이용하는 프로젝트에서 객체지향 프로그램을 하기 위한 해결책으로 JPA라는 자바 표준 ORM(Object Relational Mapping)기술이 나왔습니다. ※ Mybatis, iBatis는 ORM이 아닙니다. SQL Mapper입니다. ORM은 객체를 매필하는 것이고, SQL Mapper는 쿼리를 매핑합니다. - JPA 소개 개발자는 객체지향적으로 프로그래밍을 하고, JPA가 이를 관계형 데이터베이스에 맞게 SQL을 대신 생성해서 실행합니다. 개발자는 항상 객체지향적으로 코드를 표현할 수 있으니..
[스프링부트/AWS] 2장 스프링 부트에서 테스트 코드를 작성하자(2/2) - Lombok - 룸복(Lombok) 소개 및 설치하기(자바 개발자들의 필수 라이브러리) 룸복은 자바 개발할 때 자주 사용하는 코드 Getter, Setter, 기본생성자, toString 등을 어노테이션으로 자동 생성해 줍니다. 이클립스의 경우 롬복 설치가 번거롭지만, 인텔리제이에선 플러그인 덕분에 쉽게 설정이 가능합니다. ※ IntelliJ 2020.2 버전과 Lombok은 호환이 안된다고합니다. 다른버전으로 진행해야한다고 하네요; github.com/mplushnikov/lombok-intellij-plugin/issues/829#issuecomment-660442053 IntelliJ 2020.2 PluginException : Psi is outdated · Issue #829 · mplushnikov/lom..