회원 리포지토리 테스트 케이스 작성 개발한 기능을 실행해서 테스트 할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해 서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기 어렵고 여러 테스트를 한번 에 실행하기 어렵다는 단점이 있다. 자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다. Test case 작성 테스트 메서드 작성 시 메서드 앞에 @Test 어노테이션을 명시한다. 각각의 테스트 메서드는 독립적으로 실행되어야 한다. 테스트는 각 테스트끼리의 순서가 관계가 없어야 하고, 의존 관계가 없어야 한다. 따라서 하나의 테스트가 끝날 때마다 공용 데이터들을 깔끔하게 지워줘야 한다. 이를 위해 @BeforeEa..
회원 객체 회원 리포지토리 인터페이스 회원 리포지토리 메모리 구현체 회원 리포지토리 테스트 케이스 작성 개발한 기능을 실행해서 테스트 할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기 어렵고 여러 테스트를 한번에 실행하기 어렵다는 단점이 있다. 자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다. 테스트 케이스 작성은 다음 글에서 확인할수 있습니다. -> 회원 리포지토리 테스트 케이스 작성
비즈니스 요구사항 정리 회원 도메인과 리포지토리 생성 회원 리포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정 개발을 진행하기 위해서 초기 개발..
API API는 "Application Programming Interface"의 약자로, 두 개의 소프트웨어 애플리케이션이 서로 상호 작용하기 위한 인터페이스를 제공하는 방법이나 규약을 가리킵니다. 이는 두 애플리케이션이 서로 통신할 수 있도록 데이터 및 기능을 공유하고 사용할 수 있게 해줍니다. @ResponseBody 문자 반환 @ResponseBody 를 사용하면 뷰 리졸버(viewResolver)를 사용하지 않음. (MVC 동작시 사용) 대신에 HTTP의 BODY에 문자 내용을 직접 반환(HTML BODY TAG를 말하는 것이 아님) @ResponseBody 객체 반환 @ResponseBody를 사용하고, 객체를 반환하면 객체가 JSON으로 변환됨 @ResponseBody 사용 원리
MVC MVC는 "Model-View-Controller"의 약자로, 소프트웨어 아키텍처 패턴 중 하나입니다. 이 패턴은 소프트웨어를 세 가지 주요 구성 요소로 나누어 개발하는 방법을 제공하여 애플리케이션의 유지 보수성과 확장성을 향상시킵니다. 여기서 각 요소는 특정한 역할을 수행합니다: Model 애플리케이션의 데이터와 비즈니스 로직을 나타냅니다. 모델은 데이터의 상태를 관리하고, 데이터의 변경 및 조작을 담당합니다. 이러한 데이터 변경은 뷰 및 컨트롤러에게 통보됩니다. Controlloer 사용자 입력을 처리하고 그에 따라 모델과 뷰를 업데이트하는 역할을 합니다. 컨트롤러는 사용자의 요청을 받아 모델에게 전달하고, 모델의 데이터 변경을 감지하여 뷰를 업데이트합니다. View 사용자 인터페이스(UI)를..
정적 컨텐츠 MVC의 템플릿 엔진 API 정적 컨텐츠 정적컨텐츠는 웹페이지나 앱 내에서 동적으로 생성되거나 변경되지 않고 고정된 형태로 제공되는 콘텐츠를 말합니다. 이러한 콘텐츠는 사용자의 상호작용에 따라 변경되지 않으며, 한 번 생성된 후에는 주로 서버에서 클라이언트로 직접 제공됩니다. 대표적인 예로는 HTML 문서, 이미지 파일, CSS 파일, JavaScript 파일 등이 있습니다. 웹 브라우저에서 hello-static.html 호출시 내장 톰캣 서버가 스프링으로 전달하고, 1. 우선순위로 매핑된 컨트롤러가 있는지 찾는다. 없으면 2. resorces 내부에 있는 hello-static.html을 찾고 있으면 웹브라우저로 바로 반환을 해준다.
윈도우 운영체제에서 gradle로 빌드하고, 빌드된 jar 파일을 실행하는 방법을 알아보도록 하자. 1. 빌드 방법 1) 스프링 부트로 만들어 놓은 gradlew 파일을 찾는다. 2) cmd, intellij terminal로 해당 결로로 이동 3) 'gradlew build' 명령어를 입력하면, 빌드가 진행됩니다. 2. jar 실행 방법 1) 위 과정을 거치면, \build\libs 폴더 내에 jar 파일이 생성됩니다. 2) build\libs 경로로 이동 후 java -jar 명령어로 실행합니다. 3) 종료 Ctrl + C ▷ Ctrl + C 종료 안먹힐 때 [SpringBoot] 윈도우에서 실행중인 jar 종료 스프링부트로 앱을 실행하고 종료가 안돼서 8080 포트가 계속 살아있었다. 1) 해당 포..
Welcome 페이지 만들기 (도메인만 있을시 나오는 첫페이지) resources/static/intext.html 스프링 부트가 제공하는 Welcom Page 기능 static/index.html 을 올려두면 Welcom Page 기능을 제공한다. thymeleaf 템플릿 엔진 thymeleaf 공식 사이트 : https://www.thymeleaf.org/ 실행 : http://localhost:8080/hello 동작 환경 그림
추가한 라이브러리 외에도 수많은 라이브러리를 확인할수있다. Gradle은 의존관계가 있는 라이브러리들을 함께 다운로드 한다. * 스프링 부트 라이브러리 * spirng-boot-starter-web spring-boot-starter-tomcat spring-webmvc spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진(View) spring-core spring-logging 등 다양한 라이브러리를 의존 * 테스트 라이브러리 * spring-boot-starter-test junit : 테스트 프레임워크 mockito : 목 라이브러리 assertj : 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리 spring-test : 스프링 통합 테스트 지원
- Total
- Today
- Yesterday
- 문자열 반복하기
- 마진과 패딩의 차이점
- 엑셀 파일 추출
- 신입개발자 면접 준비
- replaceAll
- SQLD
- nodelist
- 스코프
- startsWith()
- useeffet
- StringBuilder
- Java
- rep;ㅁce
- 콜백 큐
- Object.clone()
- 중첩스코프
- 배열 만들기3
- 블록스코프
- replace와 replaceAll의 차이점
- 프로그래머스 세로 읽기
- 프로그래머스 qr code
- 배열만들기1
- 렌더링 과정
- Replace
- 대소문자 변환
- 호이스팅
- 브라우저의 기본 구조
- SQL 개발자
- n 번째 원소부터
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |