티스토리 뷰

 

 

Users 

- This class takes the role of Model which dealing with Data 

 

UsersAPIController 

- Handle request of users and response 

 

UsersService 

- When the application starts, an instance which has @Service annotation is created.

- By default, It is a Singleton pattern

- Other Class, Service, Controller can be injected by using Dependency Injection.

 

UsersRepository (DAO - Data Acess Object)

- Control Database by using JPA. 

- It extends JpaRepository<Database table, Id type>

- It should be Interface (implementation can be used in Test code as well)

- It should be a singleton pattern

 

DTO(Data Transfer Object)

- DTO를 통해 상태의 값을 주고 받으며 (데이터의 전달), persistence data 와의 통신을 위해 DAO(DB와 연동)를 사용한다. 

 

 

 

 

 

Spring boot 파일 생성 또는 생성 후에 사용할 라이브러리

 

JPA - e.g List<Travel> findAllByOrderByTravelIdDesc(PageRequest page);

관계형 DB의 관리를 표현하는 자바API. Mybatis보다 사용률이 높다. 

Gradle / Maven - build 위한 dependency를 따로 다운받고 실행하는 과정없이 바로 repository에서 가지고 와준다. 

Lombok - getter, setter, toString, hashCode, equals() 등등 annotation만 붙이면 알아서 만들어준다. ㅣ

JSP - html  내에 Java 코드를 삽입해서 사용. 웹서버에서 동적으로 웹페이지를 생성하여 웹브라우저를 돌려주는 언어. Spring boot 에서는 JSP보다 Thymeleaf 권장.

Thymeleaf - html  내에 Java 코드를 삽입해서 사용.

MySQL

Web 

 

 

 

 MVC pattern

Entity class  - 보통 그냥 이름을 적는다 e.g User. 실제 Database와 매칭되는 클래스.  Data의 처리, 구조 표현. 

Controller - 말그래도 컨트롤러.(domain controller class 라고도 한다) URL이 어디로 가서 어떤식을 처리되는지. 사용자의 입력을 처리Front End 기술에 대한 추상화를 지원. Front End 가 어떤 형태로 쓰여진 것인지 영향받지 않음. 

Repository - DAO 역할을 한다. JPA이용해서 DB에 접근,컨트롤. Should be Singleton and Interface

Service - business logic. 단순히 Domain 이 반환한 결과를 Controller 에 전송하는 역할만 하는 것 처럼 보일 수 도 있지만, 그 domain의 객체들을 조합해서 처리 후에 반환한다거나하는 다양한 business logic을 나타낸다. Typically Business Service class is Singleton's

MVC(Model - View - Controller) 와 Service, Repository 는 다른 개념

MVC + Service + Repository 를 사용하는게 일반적.

DTO - (Data Transfer Object)  data 의 전달과 이동 data전송 객체. DB가 아님. 데이터가 포함된 객체를 한 시스템에서 다른 시스템으로 전달하는 작업을 처리. Data에 접속하는 객체이다. 여기서 Data란 일반적인 Database도 될 수 있고, 파일도 될 수 있으며, 메모리도 될 수 있고, 기타 다른 저장소도 될 수 있다. 보안때문에 보내고 싶지않은 정보를 제외하고 DTO에 따로 빼내서 만든 Object이다. db와의 연결을 위해 ModelMapper 를 사용한다. 

...Application - Main 메서드가 있는 가장 먼저 동작하는클래스

Validator - 비번이나 아이디에 들어 올 값을 validate 해준다

 

 

 

Reference

https://gmlwjd9405.github.io/2018/11/29/intellij-lombok.html

'Spring Boot' 카테고리의 다른 글

Constructor Injection  (0) 2019.03.08
ModelMapper DTO-entity conversion  (0) 2019.03.08
Creating Spring Boot application with IntelliJ  (0) 2019.02.27
@RestController  (0) 2019.02.10
Dependency Injection  (0) 2019.01.30