본문 바로가기

728x90

Spring

(15)
[스프링 인 액션 3장] Spring JDBC 사용 Chap03 데이터로 작업하기 📖 Chap03.1 에서 배우는 내용 🏁 [목표] Spring JDBC 개념과 사용법 익히기 🏁 [익혀야 되는 개념] 1) Spring 에서 JDBC를 이용하여 Database를 다루는 큰 그림 2) Plain JDBC와 Spring JDBC의 차이, Spring JDBC를 사용하는 이유? 3) Datasource의 Connection Pool 개념 4) JdbcTemplate을 이용하여 CRUD동작 구현하기 5) SimpleJdbcInsert 사용법 (+objectMapper 개념) 3.1.0 Spring에서 Database를 다루는 큰그림 client가 웹으로 request를 보내면 servlet으로 구현된 controller가 request를 받아, service 클래..
Hypermedia-Driven RESTful Web Services : Spring HATEOAS 구현방법 [2] Spring에서 Hateoas를 구현하는 방법에 대해서 알아보겠다. ## 환경 : Spring Boot + IntellJ + Maven 0) Dependency org.springframework.boot spring-boot-starter-hateoas 1) Link 를 만들기 위하여 WebMvcLinkBuilder 활용 Link link = new Link("http://localhost:8080/api/actors/1"); // 링크를 만들때 위와 같이 하드코딩을 하지 않도록 WebMvcLinkBuilder를 사용 // # WebMvclinkBuilder를 사용하여 링크를 만든다. // Link Object에는 rel와 href를 넣는다. // rel : 이름 / href : 실제 링크 // lin..
Hypermedia-Driven RESTful Web Services : HATEOAS란? [1] Hateoas의 개념에 대해서 알아보고, Spring에서 어떻게 구현하는지에 대해서 알아보겠다. REST API에는 등급이 존재한다. REST API의 등급 중 가장 높은 등급이 Hateoas라고 보면된다. 아래 표를 살펴보면, 일반적인 프로젝트에서는 구현하는 Rest API의 레벨은 Lvl2라고 보면된다. Lvl2는 Resources와 HTTP메서드를 사용한다. Lvl3, Hateoas는 Lvl2에 추가적인 Link를 가지고 있다. 이 Link를 통해 네비게이션이 가능하다. Request를 보면, Lvl2와 별 차이가 없어 보이지만, Response를 보면 JSON에 HAL라는 추가적인 링크가 있는 것을 알 수 있다. => 완벽한 RestApi를 사용하기 위해서는 Hateoas를 사용해야 한다. Hyp..
[Spring] 스프링에서의 Restful web Service Restful web service를 스프링에서 어떻게 구현할 수 있을까? 기존의 Spring 방식은 밑의 방식과 같다. request를 받으면 Dispatcher Servlet이 받고, Handler Mapping을 통해 어떤 컨트롤러로 보낼지 결정해서 Service, DAO를 거쳐 View를 만들어 다시 Response로 Client로 보내주는 방식이였다. Controller는 단순히 object(객체)를 return한다. 이 object data(객체데이터)가 json/xml 형태로 HTTP response 메시지에 담겨서 전달이 된다. @RestController, @RequestBody, ResponseEntity class, @PathVariable을 통해 REST API를 구현하게 된다. 1..
[Spring Boot] Spring Data JPA의 사용법과 사용이유, 예시 Spring Data JPA 1. Creating DAO 문제 다른 entity 를 만들때 유사한 코드의 반복. DAO 패턴이 같다는 점. 코드의 반복 entity type , primary key만 바꿔주면 다른 entity 도 다를 것이 없다. 2. Spring Data JPA 장점 틀에 박혀있는 DAO code를 최소화, DAO를 실제로 만들어줄 필요가 없다 제공되는 인터페이스 Spring DATA JPA 는 repository interfaces 를 제공한다. 1) CrudRepository 2) PagingAndSortingRepository 3) JpaRepository 4. Query Method id를 기반으로 해서 조회하기 보다는, 검색을 통해서 조회할 경우가 있다. 그 부분에 대해서는 ..
[Spring Boot] Spring에서의 Hibernate 사용법 1. Spring Framework에서 Hibernate 사용 1) Maven Dependency 추가 2) Spring Bean 설정 3) Entity Bean (with annotation) 4) DAO Layer ( Spring JDBC => Hibernate) 1) Maven Dependency 추가 org.springframework spring-orm ${org.springframework-version} org.hibernate hibernate-core 5.4.28.Final 2) hibernate configuartion (dao-context.xml) - hiberante.cfg.xml 파일을 실제로 생성할 필요가 없고, dao-context.xml에 정보를 넣어주면된다. - Confi..
[Spring boot] JPA vs Hibernate # Hibernate는 JPA의 구현체이다 - JPA는 스팩이나 인터페이스를 뜻한다. - Hibernate는 JPA의 구현체라고 보면 된다. => JPA만 가지고는 할 수 없고, 구현체가 필요하다. => JPA를 사용하기 위해 굳이 Hibernate를 사용할 필요는 없다. ex) Hibernate, EclipseLink, DataNucleus ... - 밑에 예시와 같이 인터페이스를 직접 구현한 라이브러리이다. List list = new ArrayList(); // | | // Interface Implementation - Java-persistence-api javax.persistence javax.persistence-api 2.2 - Hibernate-core org.hibernate hibe..
[Spring Framework] 03_03. 요청 파라미터 처리 방법 1. 컨텍스트 루트 경로가 변경될 경우 처리 방법. 1) 컨텍스트 루트 경로를 변수로 지정함. 요청 파라미터값 테스트!!! 회원 가입 양식 - ID: - PW: - NAME: - HOBBY: 축구 독서 음악 - jstl 사용 - EL 사용 2) 태그를 사용함. 요청 파라미터값 테스트!!! 회원 가입 양식 - ID: - PW: - NAME: - HOBBY: 축구 독서 음악 로 변경 2. 요청 파라미터 처리 방법 * 파라미터 받는 VO 객체 생성 * UserVo.java package com.spring.web.model; import java.util.List; public class UserVO { private String userId; private String userPw; private Strin..

728x90