Spring
스프링 입문 - 회원 도메인과 리포지토리 만들기
스프링 입문 - 회원 도메인과 리포지토리 만들기
2022.05.17hello.hellospring.domain이라는 이름으로 새로운 패키지를 생성했다. 그리고 domain 패키지에 Member라는 이름의 클래스를 생성했다. 여기서 id는 임의의 값인데, 데이터 베이스든 데이터에 저장할 때 사용하는 단순 시퀀스로 정해지는 임의의 값이다. 고객이 정하는 id가 아니라 데이터를 구분하기 위해서 시스템이 저장하는 id값이다. 그리고 name은 이름이다. getter, setter를 만들어 준다. 그리고 이번에는 회원 리포지토리 인터페이스를 만들자. 먼저, 패키지를 만들자. 이름은 hello.hellospring.repository로 생성했다. 그리고, MemberRepository 라는 이름의 인터페이스를 만들었다. 기능을 만들 것인데, save를 만든다. 회원을 저장하면, ..
스프링 입문 - 비즈니스 요구사항 정리
스프링 입문 - 비즈니스 요구사항 정리
2022.05.17회원 관리 예제를 만들어 볼 것이다. 먼저, 비즈니스 요구사항을 정리를 할 것이고, 그다음, 회원 도메인과 회원 객체를 저장하고 불러올 수 있는 저장소라고 불리는 리포지토리를 만들 것이다. 그리고 회원 리포지토리가 정상 동작하는지 테스트 케이스를 작성할 것이고, 실제 비즈니스 로직이 있는 회원 서비스를 만들고 이것이 정상적으로 동작하는지 테스트를 만들 것이다. 이때, 테스트는 Junit이라는 테스트프레임웍을 이용해서 만들 것이다. 이번시간에는 비즈니스 요구사항을 정리할 것이다. 비즈니스 요구사항 정리 이번 예제에서 비즈니스 요구사항은, 정말 간단한 것으로 할 것이다. 데이터 : 회원 ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 일반적인 웹 어플리케이션 계층..
스프링 입문 - API
스프링 입문 - API
2022.05.16이번에는 API 방식에 대해서 알아보자. 사실, 정적 컨텐츠 방식을 제외하면, 앞서 살펴보았던 MVC방식처럼 View를 찾아서 template engine을 통해서 화면을 랜더링하고, html로 변환해서 웹브라우저에 넘겨주는 방식이 있고, 그다음 방법이 API를 사용하는 방법이 있다. 그러니까, 정적 컨텐츠 방식을 제외하면, 2가지 방법만 기억하면 된다. MVC방식처럼 HTML로 내리냐, 아니면 API라는 방식으로 데이터를 바로 내리냐의 차이이다. HelloController에 추가코드를 작성해 보자. @ResponseBody는 HTML에 나오는 body태그를 이야기 하는게 아니라, http 통신 프로토콜에서 header부와 body부가 있는데, body부에 return으로 준 "hello " +name..
스프링 입문 - MVC와 템플릿 엔진
스프링 입문 - MVC와 템플릿 엔진
2022.05.16MVC란, Model, View, Controller 의 약자이다. View는 화면을 그리는데에 모든 역량을 집중해야한다. Controller나 Model과 관련된 부분에서는 비즈니스 로직과 관련이 있거나, 뭔가 내부적인 것을 처리하는데 집중해야 한다. 그래서 Model, View, Controller를 쪼갠 것이다. View는 화면과 관련된 일만, 비즈니스 로직과 서버 뒷단에 관련된 것은, Controller나, 뒷단 비즈니스 로직에서 전부 처리하고, 화면에서 필요한 관련된 것들을 Model에다가 담아서 화면쪽에 넘겨주는 패턴을 많이 사용한다. HelloController에 추가해보자. @Controller public class HelloController { @GetMapping("hello-mvc..
스프링 입문 - 정적 컨텐츠
스프링 입문 - 정적 컨텐츠
2022.05.16웹을 개발한다는 것은 크게 3가지 방법이 있다. 첫번째 방법은, 정적 컨텐츠이다. 이전에 wlcome page 처럼 서버에서 뭐하는거 없이 그냥 파일을 그대로 웹브라우져에 내려주는 것이다. 두번째 방법은, MVC와 템플릿 엔진방식이다. 예를 들어서 과거에 JSP와 PHP가 소위 말하는 템플릿 엔진인데, HTML을 그냥 주는 것이 아니라, 서버에서 프로그래밍을 통해 HTML을 동적으로 바꿔서 내리는 것이다. 이런 것을 템플릿 엔진이라고 하고, 이것을 하기 위해서 Model, Controller, View, 패턴을 이용한다. 정적 컨텐츠와의 차이는, 정적 컨텐츠의 경우 파일을 그대로 웹브라우저에 전달해 주는 것이고, MVC와 템플릿 엔진은 서버에서 html을 조금 바꿔서 내려주는 방식이다. 세번째 방법은 A..
스프링 입문 - 빌드하고 실행하기
스프링 입문 - 빌드하고 실행하기
2022.05.15터미널에서 빌드할 프로젝트가 저장되있는 디렉토리로 이동한다. cd /Users/kimmingyo/Library/CloudStorage/OneDrive-inu.ac.kr/kimmingyo99onedrive/gitclone/Spring/hello-spring 그리고 아래의 명령어를 이용해서 Build를 한다. ./gradlew build build가 완료되었다. build를 완료하면 build 폴더가 생기는데, 해당 폴더를 확인해보자. 여러 폴더를 확인할 수 있다. 그중, libs로 이동하자. 그리고 폴더를 확인해보자. hello-spring-.0.0.1-SNAPSHOT.jar 이라는 이름으로 18M짜리 파일이 만들어져 있다. 아래의 명령어를 이용해서 hello-spring-0.0.1-SNAPSHOT.ja..