글
2월, 2022의 게시물 표시
[spring] 섹션 3. 회원 관리 예제 - 백엔드 개발 > 비즈니스 요구사항 정리 및 테스트 케이스 작성
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
implements option + enter 비즈니스 요구사항 정리 *클래스 생성 주의사항을 꼭 잃어보시라 MemberService : 서비스 로직을 처리하는 클래스 MemberRopository : 데이터베이스에 접근하여 데이터를 컨트롤 하는 클래스(인터페이스) MemoryMemberRopository : MemberRopository(인터페이스)을 구체화 한 클래스 *프로젝트 트리 controller,domain,repository package src > main > java >hello.hellospring 경로 밑에 존재해야합니다. *controller : view에서 호출하고자하는 함수를 정의합니다. *service : *domain : service에서 데이터베이스에게 데이터를 넘길때(혹은 받아올때) 사용하는 클래스 *repository : 데이터베이스와 연결하는 클래스 테스트 케이스 작성 *junit 생성한 기능을 테스트을 하기 위해선 "실행"해봐야하는데 "실행"해보려면 main함수에서 해당 함수를 호출해보거나, url을 통해 특정 페이지으로 이동해서 button을 클릭해봐야하는게 아닌가 ... 이게 얼마나 번거로운 일인가 그래서 spring-boot에는 테스트할 수 있는 기능을 제공한다. test 파일의 위치를 확인하자 MemoryMemberRepositioy클래스의 함수기능을 테스트하기 위해 테스트용 클래스를 만들어야 한다. 이때 "(테스트 대상 클래스의)이름 + Test"의 방식으로 클래스 이름을 설정한다. 그리고 (당연하게도?) 테스트 하고자하는 클래스의 인스턴스를 생성한다. 테스트 하고자 하는 함수에 "@Test"어노테이션을 붙힌다. 그리고 테스트 함수가 모두 작성 완료 되었다면 함수의 플레이 버튼을 클릭하여 "Run 'MemoryMemberRepositi....' 을 실행시키면 된다. 테스트를 진행하는데...
[spring] 섹션 2. 스프링 웹 개발 기초 > API
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
*정적컨텐츠만 제외한다면 다음 두가지 경우만 고려하면된다. 1. html을 렌더링 하여 보여줄 것인가??? //view 2. 데이터만 넘겨줄 것인가??? //api *@RequestBody html을 렌더링하지않고, 데이터만 넘기고자할 경우 사용하는 어노테이션 입니다. http는 header, body 부분으로 나뉘어져 있는데, 해당 어노테이션을 사용할 경우, body부분을 개발자가 직접 설정할 것을 명시합니다. 데이터를 뷰에게 넘기기 위해선 객체를 넘겨야 합니다. 그전에 넘기고자하는 클래스를 생성하여 사용해야 합니다. command + n을 누르면, getter and setter을 선택할 수 있다. 객체에 넘기고자하는 데이터를 setting한 뒤 리턴하면 된다. json converter가 객체의 데이터를 json형식으로 변환해 준다. 스프링 내부에서 동작하는 원리는 아래와 같다. ㅁResolver대신 httpMessageConverter가 있음을 명심하자.
[spring] 섹션 2. 스프링 웹 개발 기초 > MVC와 템플릿 엔진
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
*인텔리제이에서 내가 사용하고자하는 함수의 option을 보고자할 때 사용하는 단축키 command + p *url을 통해 파라미터를 넘기고자할때엔 다음과 같이 한다. @RequestParam( value = "", required = true / false ) required는 반드시 파라미터를 넘거야할지 말지 설정하는 옵션인데, 디폴트는 true이다. (true = 반드시 파라미터를 넘거야한다. false = 파라미터를 넘기지 않아도 된다.) 옵션을 설정하는게 번거롭다면 "@RequestParam( "..." )" 으로만 사용해도 된다.
[spring] 섹션 1. 프로젝트 환경설정 > View 환경설정
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
*static 스타트 페이지를 설정하기 위해선 "resources > static" 폴더에 ".html"파일을 생성해놓는다. (위와같이)aaaaa1.html, aaaaa2.html파일이 존재하여도 무조건 "index"이름으로 된 html을 스타트 페이지으로 사용한다. "index"파일이 존재하지 않을 경우 error페이지를 출력한다. *controller contorller를 만들기 위해선 (관리를 위한)Package을 하나 생성해야하는데, Package생성 위치는 "src > main > java > 프로젝트 패키지 > contorller"이다. controller package을 생성할때 주의 할 점은 "src > main > java" 가 아니라, "src > main > java > hello.hellospring"에 생성해야한다는 점이다. 컨트롤러를 호출하여 이동하고자 하는 "html"파일은 "src > main > resources > templates"에 위치시키면 된다.
[spring] 섹션 1. 프로젝트 환경설정 > 프로젝트 생성
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
*스프링부트 프로젝트를 생성하기 위해서 아래의 링크에 접속한다. https://start.spring.io/ Group : 기명업 artpact : 프로젝트명 Name, Description, Package name은 변경하지 않는다. 추가로 Dependencies항목에 "Spring Web, Thymeleaf"을 추가한다. 추가가 완료되었다면 (아래)"GENERATE"버튼을 클릭하여 프로젝트를 다운로드 받는다. 그럼 위와 같이 프로젝트 파일이 다운로드 된다. inteliJ > open > 프로젝트 폴더 > build.gradle을 선택한다. "Open as Project"을 클릭한다. "Trust Project"버튼을 클릭한다. src > main > java > hello.hellospring > HelloSpringApplication 에서 main() 함수를 실행한다. localhost:8080 으로 접속하였을때 위 같은 에러 페이지가 나온다면 정상적으로 프로젝트 실행된 것 이다. ------------------------------------------------------------------------------------------------ *스프링 부트에서 가장 중요한 파일은 "build-gradle"이다. *본인이 gradle을 이용하여 프로젝트를 빌드하기로 설정했으므로 아래와 같은 파일이 생성된 것 이다. *gradle은 프로젝트를 실행을 도와주는 도구이다. *(프로젝트의)환경설정, 의존성, 플러그인 설정 등등을 관리하는 파일(빌드 구성 스크립트)이다.