Web/Spring

    [Spring Boot] 테스트 코드 작성 (Hello World편)

    [Spring Boot] 테스트 코드 작성 (Hello World편)

    『스프링 부트와 AWS로 혼자 구현하는 웹 서비스』 도서를 읽다 작성한 글입니다. 점차 많은 서비스 회사에서 테스트 코드를 요구하고 있다. (채용 정보의 우대사항에서도 볼 수 있다.) 이번 포스팅의 목차는 다음과 같다. 테스트 코드의 필요성(장점) 테스트 코드 프레임워크 종류 테스트 코드 작성(기초) 간단한 Controller 테스트 필자가 만난 오류 및 해결방법 롬복 테스트 코드 (2개) 테스트 코드의 필요성(장점) 많은 장점이 있지만 두드러지는 장점은 1. 코드를 작성한 후, 서버를 실행해서 확인하는 귀찮은 일을 반복할 필요가 없다는 것이다. 톰캣을 재시작하는 것은 생각보다 오랜 시간이 걸린다.. 2. print문으로 확인하는 수동적인 검증을 할 필요 없다. 자동 검증이 가능하다. 또한 기존에 많은 ..

    [Spring Boot 프로젝트] 1. 프로젝트 생성과 Boot Strap 템플릿 적용(Thymeleaf)

    [Spring Boot 프로젝트] 1. 프로젝트 생성과 Boot Strap 템플릿 적용(Thymeleaf)

    Spring Boot로 프로젝트를 생성하고, Thymeleaf 를 이용하여 부트스트랩 템플릿을 적용해보도록 하겠습니다. SpringBoot 프로젝트 생성 여기에 접속하면 쉽게 생성 가능합니다. 개발 환경 Gradle Java Spring Boot 버전 : 2.5.5 Java 11 Packaging : Jar 의존성 추가 : Spring Web, Thymeleaf, Spring Boot DevTools, Spring Data JPA, Lombok 위의 설정으로 다운을 받고, 알집을 풀고나서 IntelliJ에서 Open Project를 클릭합니다. gradle로 설정했다면, 아래와 같이 build.gradle파일을 클릭하여 프로젝트를 열어 Build합니다. Bootstrap 연동 0. 의존성 추가 만약, (..

    ORM(Object Relational Mapping)과 JPA(Java Persistence API)

    ORM(Object Relational Mapping)과 JPA(Java Persistence API)

    이번 포스팅에서는 ORM과 JPA에 대한 이론적 개념 위주로 작성하겠습니다. 목차 ORM이란? ORM 장점 ORM 단점 (JPA 단점으로도 볼 수 있겠습니다.) JPA란? Hibernate SpringData JPA ORM(Object-Relational Mapping)이란? 우선 ORM이 왜 등장했는지 알아보겠습니다. 기존에는 애플리케이션을 개발할 때 많은 CRUD용 SQL을 반복해서 작성해야 했습니다. 객체 모델링을 SQL로 풀어내는 데 너무 많은 코드와 노력이 필요했고, 객체 모델은 점점 데이터 중심의 모델로 변해갔습니다. 그래서 이러한 비효율적인 작업을 개선하기 위해 ORM이 등장합니다. 어플리케이션의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 의미합니다. 즉, 연관된 Java..

    [Spring Boot] 프로젝트 세팅부터 REST API까지

    [Spring Boot] 프로젝트 세팅부터 REST API까지

    Sparta에서 2주차까지 수업을 듣고나니 여태까지 배운 것을 스스로 해보는 숙제가 주어졌다. 숙제를 진행하면서 기억해놓고 싶은 것들✨을 적어보았다. 0. 프로젝트 Setting 🔥 Spring boot 프로젝트 Setting을 진행한다. SpringBoot페이지에서 아래와 같이 프로젝트 셋팅을 진행하였다. 다운로드받은 후, 알집을 풀어준다. 그후, IDE(본인은 IntelliJ)에서 새 프로젝트 생성 버튼을 클릭하여, (Gradle Project인 경우) build.gradle 파일 선택 후 open as project로 열면 프로젝트가 잘 셋팅된다. 1. 디렉토리 구조 🔥 필요한 폴더는 총 Domain, Service, Controller 이다. 📁 domain └ Person 클래스 └ Person..