Spring

    MapStruct 란?

    Mapstruct 란 클래스간 변환을 쉽게 하기 위해 등장한 라이브러리다 - DTO, Entity : DTO 란 Data Transfer Object 를 말하며, 계층간 데이터 전송을 위해 만든 Bean 을 의미한다 Entity 란 DB 의 테이블과 매핑시키기 위한 자바 객체를 의미한다 Entity 에 정의해둔 필드변수 외에도 별도로 어떤 값을 유저로 부터 받아와야 한다거나 혹은 Entity 에는 없는 필드를 리턴시켜줘야 할때, DTO 를 이용하는데, 이런 작업을 가능하게하려면, Entity 와 DTO 간에 매핑과정이 필요하다 - maven 을 이용하는 경우 : maven 을 이용하는 경우 의존성 주입을 다음과 같이 해줘야 한다 pom.xml org.projectlombok lombok ${lombok...

    Lombok 이란?

    Lombok 이란 자바 어플리케이션을 개발함에 있어서, 반복적으로 작성되는 코드들 (boilerplate code) 을 작성하는 과정을 간소화 시킨 라이브러리이다. 예를들어, 객체를 선언할때 마다 각 필드 변수들에 대해서 매번 getter, setter, constructor 등을 선언해야 했다. Lombok 을 사용하게 되면 이런 번거로운 작업을 몇개의 어노테이션을 정의하는것 만으로 크게 줄일 수 있다. 대표적인 lombok 관련 어노테이션을 몇개만 알아보면 1. @Getter, @Setter : 객체의 필드 변수에 접근하기 위한, getter / setter 메소드를 작성하지 않고도 lombok 이 getter / setter 메소드를 만들어준다. - 예시 @Getter @Setter public c..

    Spring Boot - Spring Data REST

    참조한 강의 : www.udemy.com/course/spring-hibernate-tutorial/ 앞선 포스팅인 Spring Boot - DAO (sdy-study.tistory.com/255) 에서 JpaRepository 라는 것을 알아봤고, 이를 통해서 기존에 DAO 구현을 위해서 작성하던 boilerplate code 를 어떻게 간소화했는지 알아봤다 이번에는, REST API 의 코드를 간소화 하는 방법에 대해 알아본다 - Spring Data REST : 여기서도 취지는 전에 다뤘던 포스팅(sdy-study.tistory.com/255) 내용과 같다 프로젝트 내에 엔티티 클래스가 갯수가 많아지면, 각 엔티티 클래스에 대해서 각각 REST API 를 써줘야했다 Student Entity 가 있..

    Spring Boot - DAO

    참조한 강의 : www.udemy.com/course/spring-hibernate-tutorial/ - DAO : DAO 는 Data Access Object 의 약자로, 레이어드 아키텍쳐에서 Persistence Layer 에 위치하고 있으며, Spring 이 DB 에 접근하기 위해 사용되는 객체이다. 이전 포스팅에서는 Spring Framework 를 이용해서 DAO 를 만들때, Hibernate ORM 을 이용했지만, Spring Boot 에는 DAO 를 만들기 위한 방법이 3가지가 존재한다 1. 기존처럼 Hibernate API 를 사용하는 경우 2. 표준 JPA API 를 이용하는 경우 3. Spring Data JPA 를 이용하는 경우 이 포스팅에서는 이 세가지의 방법에 대해 알아본다 - 1..

    Spring Boot - Overview

    참조한 강의 : www.udemy.com/course/spring-hibernate-tutorial/ 이전 포스팅 까지는 Spring Framework 에 대한 기본 개념들과 기초적인 예제들을 학습해보았다 이번에는 Spring Boot 에 대해서 알아본다 * Spring Boot 가 만들어진 이유 : Spring Boot 가 만들어진 이유는 첫번째로, 기존의 Spring Framework 는 진입하기 위해서 필요한 사전지식이 너무 방대하다 (물론 결국에는 다 알고 있어야 하기는 하지만, 시작 하는 입장에서는 상당히 부담스러운 면이 있다) 두번째로, 기존의 Spring Framework 는 의존성 모듈을 일일이 전부 관리해줘야 했다 (물론 Spring Boot 도 필요한 모듈들을 받아와야 하긴 하지만, s..

    Intellij 에 Spring Framework 설정하기

    Eclipse IDE 에서 작성하던 스프링 프레임워크 기반의 프로젝트를 Intellij IDEA 에 그대로 이식하면 아주 단순한 어플일 경우에는 될지도 모르나, 일반적으로는 있는 그대로는 이식이 안된다. 톰캣 서버 설정, 데이터베이스 서버 연결, 프로젝트 모듈 관리 등의 별도의 작업들이 필요한데, 아래에는 몇가지 예시를 넣어서 정리를 해보려 한다. (참고로, 스프링 부트가 아닌 스프링 프레임워크 기준이다) - 톰캣 서버 설정하기 먼저 프로젝트의 Edit Configuration 에 들어가면 Templates 부분에 아래 화살표를 눌러서 자세히 목록들을 살펴보면 아래 그림처럼 Tomcat Server 가 나온다 이 상태에서 우측 상단에 보이는 Create Configuration 을 눌러주고 아래와 같이 ..

    Spring REST - REST Controller

    참조한 강의 : www.udemy.com/course/spring-hibernate-tutorial/ 이번에는 REST Controller 에 대해서 알아본다. 앞선 포스팅에서는 Jackson 을 이용해 자바에서 JSON 파일을 POJO 로 바꾸는 방법에 대해서만 알아봤지, 스프링을 기반으로 REST 의 기능이 들어간 것을 만들지는 않았다 스프링에서 REST 기능을 넣고 싶으면 REST Controller 를 이용해야한다. 그러나, REST Controller 를 알아보기 전에 HTTP 에 대해서 간단하게 개념을 짚고 갈 필요성이 있다. - HTTP 구조 HTTP 는 HyperText Transfer Protocol 의 약자로, HTML 문서를 교환하기 위해 만들어진 통신 규약이다. HTTP 는 Requ..

    Spring REST - Overview

    참조한 강의 : www.udemy.com/course/spring-hibernate-tutorial/ - REST REST 는 REpresentational State Transfer 의 약자로, 웹 상에 존재하는 모든 리소스들에 대해서 고유한 URI 를 부여해서 활용하는 방법을 말한다. * REST 의 구성요소로는 아래와 같은 3가지가 있다 1) Resource (자원, URI) : 웹 상에 존재하는 모든 리소스들은 각자마다 고유한 ID 를 가지고 있고, 각 ID 값은 서버에 저장되며, 클라이언트는 이 자원들을 필요로 할때, HTTP Method 를 이용해서 각 리소스들을 요청한다 예를들면, url 보다보면은 이런것들이 있다. ~student/1/profile ~student/2/edit-profile..