본문 바로가기
반응형

Spring28

ORM, JPA, Spring Data JPA 노트 ORM(Object Relational Mapping) 이란? - 어플리케이션의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 의미함. (Java의 데이터 클래스와 관계형 데이터베이스의 테이블을 매핑). 객체지향 프로그래밍과 관계형 데이터베이스의 차이로 발생하는 제약사항을 해결해주는 역할을 수행함. 대표적으로 JPA, Hibernate 등이 있음. ORM의 장점 : - SQL 쿼리가 아닌 직관적인 코드로 데이터를 조작할 수 있음. (개발자가 보다 비즈니스 로직에 집중할 수 있음) - 재사용 및 유지보수가 편리해짐. (ORM은 독립적으로 작성되어 있어 재사용이 가능. 매핑 정보를 명확하게 설계하기 때문에 따로 데이터베이스를 볼 필요 없음) - DBMS에 대한 종속성이 줄어듬 (DBMS를 교.. 2022. 11. 3.
DTO, DAO, Repository, Entity 노트 Spring Boot의 서비스 구조 : Client Controller Service DAO(Repository) DB ↑ ↑ ServiceImpl DAOImpl ex ) 회원가입 - Client에서 정보를 받고 DTO 객체에 담은 후 회원가입 요청 Controller에 전달. Controller는 어떤 요청인지 확인하고 그것과 매칭되는 DTO 객체를 Service로 보내줌. Service 객체는 회원가입에 필요한 내용들을 처리 한다음 Entity라는 객체를 만들고 DAO로 보냄. DAO는 DB와 직접적 매칭. Entity (Domain) - 데이터베이스에 쓰일 컬럼과 여러 엔티티 간의 연관관계를 정의. 데이터베이스의 테이블을 하나의 엔티티로 생각해도 무방함. 실제 데이터베이스의 테이블과 1:1로 매핑됨.. 2022. 11. 2.
Lombok 정리 노트 Lombok 이란? 반복되는 메소드를 Annotation을 사용하여 자동으로 작성해주는 라이브러리. 일반적으로 VO, DTO, Model, Entity 등의 데이터 클래스에서 주로 사용됨. 대표적으로 많이 사용되는 annotation => @Getter, @Setter, @NoArgConstructor, @AllArgConstructor, @Data, @ToString Lombok 사용법 : 라이브러리 dependency 설정 ... org.projectlombok lombok true ... Lombok의 대표적인 어노테이션 @Getter, @Setter - 해당 클래스에 선언되어 있는 필드를 기반으로 'getField', 'setField'와 같은 식으로 자동으로 메소드를 생성함. @Getter @S.. 2022. 11. 1.
POST, PUT, DELETE API + Swagger 라이브러리 노트 Post API - 리소스를 추가하기 위해 사용되는 API @PostMapping : Post API를 제작하기 위해 사용되는 Annotation. @RequestMapping과 POST method의 조합. 일반적으로 추가하고자 하는 Resource를 http body에 추가하여 서버에 요청. 그렇기 때문에 @RequestBody를 이용하여 body에 담겨있는 값을 받아야함. @PostMapping(value = "/member") public String postMember(@RequestBody Map postData) { StringBuilder sb = new StringBuilder(); postData.entrySet().forEach(map -> { sb.append(map.getKey().. 2022. 10. 31.
Get API 만드는 방법 노트 @RequestMapping - value와 method로 정의하여 API 개발하는 방식. 이제는 고전적인 방식이라 사용하지 않음. @RequestMapping(value = "/hello", method = RequestMethod.GET) public String getHello() { return "Hello World"; } @GetMapping (without Param) - 별도의 파라미터 없이 GET API를 호출하는 경우 사용되는 방법 @GetMapping(value = "/name") public String getName() { return "namee"; } @PathVariable - GET 형식의 요청에서 파라미터를 전달하기 위해 URL에 값을 담아 요청하는 방법. 아래 방식은 @.. 2022. 10. 30.
MVC Pattern 노트 MVC Pattern (Model View Controller) 디자인 패턴 중 하나인 MVC Pattern은 어플리케이션을 구성할 때 그 구성요소를 세가지의 역할(Model, View, Controller)로 구분한 패턴을 의미함. 사용자 인터페이스로부터 비즈니스 로직을 분리하여 서로 영향 없이 쉽게 고칠 수 있는 설계가 가능함. Model -> (updates) -> View View -> (sends input from user) -> Controller Controller -> (Sometimes updates directly) -> View Controller -> (Manipulates) -> Model ▷ 컨트롤러 (Controller) 모델(Model)과 뷰(View) 사이에서 브릿지 역할.. 2022. 10. 29.
반응형