목록전체 글 (33)
채채
API를 만들기 위해선 3가지 클래스가 필요하다. Dto: request 데이터 수신 Controller: API 요청 수신 Service: 트랜잭션, 도메인 기능 간 순서 보장 Service에서는 비즈니스 로직(규칙에따라 데이터를 생성, 표시, 저장, 변경)을 처리하지 않는다. 그러면 비즈니스 로직은 누가 처리할까? ➡️ Spring 웹 계층 1. Web Layer 뷰 템플릿 영역 ex) 컨트롤러(@Controller), JSP/Freemarker 등 외부 요청과 응답 ex) 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@ControllerAdvice) 등 2. Service Layer @Service, @Transactional이 사용되는 영역 Controller와 Dao의 중간 영역 3. ..
JPA 소개 프로젝트에 Spring Data Jpa 적용하기 Spring Data JPA 테스트 코드 작성하기 등록/수정/조회 API 만들기 JPA Auditing으로 생성시간/수정시간 자동화하기 JPA 소개 JPA를 왜 사용하는지에대해 먼저 알아보고자한다. 현대의 웹 애플리케이션에서 관계형 데이터베이스는 빠질 수 없는 요소가 되었다. 관계형 데이터베이스가 SQL만 인식할 수 있다보니 각 테이블마다 기본적인 CRUD(Create, Read, Update, Delete) SQL을 매번 생성하다보면 결국 프로젝트의 대부분은 애플리케이션 코드보다 SQL로 가득하게 된다. 따라서 관계형 데이터베이스를 이용하는 프로젝트에서 객체지향 프로그래밍을 하기위해 JPA라는 자바 표준 ORM(Object Relation..
인텔리제이 소개 인텔리제이 커뮤니티에서 프로젝트 생성 그레이들 프로젝트를 스프링 부트 프로젝트로 변경 인텔리제이에서 깃과 깃허브 사용 인텔리제이 소개 자바 웹 개발을 할 때에 이클립스를 주로 사용하는데, 인텔리제이 개발 도구를 사용하는 이유는 다음과 같은 장점이 있기 때문이다. 강력한 추천 기능 훨씬 더 다양한 리팩토링*과 디버깅 기능 이클립스의 깃에 비해 훨씬 높은 자유도 프로젝트를 시작할 때 인덱싱을 하여 파일을 비롯한 자원들에 대한 빠른 검색 속도 HTML, CSS, JS, XML에 대한 강력한 기능 지원 자바, 스프링 부트 버전업에 맞춘 빠른 업데이트 *리팩토링: 결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 한다. 버그를 없애거나 새로운 기능..