본문 바로가기

전체 글31

[회원 관리 예제, 백엔드 개발 - (2)] 회원 도메인과 리포지토리 만들기 git repository : https://github.com/Rezalog/spring-boot-entry-inf GitHub - Rezalog/spring-boot-entry-inf Contribute to Rezalog/spring-boot-entry-inf development by creating an account on GitHub. github.com Package domain : 비즈니스 로직에서 사용되고 DB에 저장되어 관리되기 위한 객체 Member repository : domain 객체를 저장하기 위함 MemberRepository(interface) MemoryMebmerRepository(interface impl) domain 식별자 id, 입력받을 회원 정보인 name 에 .. 2022. 6. 29.
[회원 관리 예제, 백엔드 개발 - (1)] 비즈니스 요구사항 정리 git repository : https://github.com/Rezalog/spring-boot-entry-inf GitHub - Rezalog/spring-boot-entry-inf Contribute to Rezalog/spring-boot-entry-inf development by creating an account on GitHub. github.com 비즈니스 로직을 먼저 설정하고, 회원 도메인과 리포지토리를 만든다. 비즈니스 로직(스프링 생태계를 알아보기 위한 것이므로, 단순하게 작성) 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 DB 설정 안됨을 가정(memory) 리포지토리가 정상적으로 동작하는지 확인하기 위해 테스트 케이스를 작성한다. 실제 비즈니스 로직을 적용한 회원 서비.. 2022. 6. 29.
[스프링 웹 개발 기초 - (3)] API - API 방식 : 일단 view 에 관여하지 않고 서버간 데이터만 전달하는 방식으로 이해하자. hello-string method @ResponseBody : 해당 요청에 대한 HelloController가 helloString 메소드를 실행하여 처리할 때, 입력받은 query string 의 name 의 value 를 HTTP의 body 부에 직접 "hello + (name key의 value)" 형태로 넘겨준다. 즉, ResponseBody 어노테이션 때문에 view가 없이 데이터만 넘겨줌. html 태그 없이 body 부의 hello spring 만 보이는 상태. helloApi Method Hello static class 를 생성, helloApi 메소드에서 Hello 객체 인스턴스를 생성하여.. 2022. 6. 29.
[스프링 웹 개발 기초 - (2)] MVC와 템플릿 엔진 hello-mvc -> helloMvc 추가 @RequestParam 으로 query string 의 name 속성을 추가하여 인자로 name 을 받아 model의 name 속성의 value 로 매핑하고, 뷰 리졸버가 template/hello-template.html 에 전달 - Thymeleaf 의 특징 : 서버가 켜져 있지 않아도 Absolute Path 로 접근하면 body tag 의 내용(hello! empty), 즉 껍데기를 볼 수 있음. 즉, Thymeleaf 엔진으로 실행하지 않은 상태이다. 서버 및 Thymeleaf 엔진으로 실행시, th:text의 내용으로 치환이 된다. - 주의 ! localhost:8080/hello-mvc 로 접근하면 Required String parameter .. 2022. 6. 29.
[스프링 웹 개발 기초 - (1)] 정적 컨텐츠 - 정적 이미지 : 파일 그대로 내려줌 - MVC와 템플릿 엔진 : 서버에서 템플릿 등으로 바꿔서 내려줌(JSP) - API : 클라이언트와 어느정도 분리되어 JSON 등의 데이터 포맷 구조로 전달, 매핑하여 내려줌. 또는 서버끼리의 통신할 때(html 내릴 필요없이 데이터만 왔다갔다) 기존에 해보았듯이 static 폴더에 hello-static.html 생성하면, 따로 Controller 생성해서 getMapping 할 필요 없이, localhost:8080/hello-static.html 로 바로 접근할 수 있다. - 동작원리 localhost:8080/hello-static.html 요청 내장 톰캣 서버에서 스프링 컨테이너에게 hello-static.html 을 처리하는 Controller 가 있는.. 2022. 6. 29.
[프로젝트 환경설정 - (4)] 빌드하고 실행하기 **빌드하고 jar 파일 생성, jar 파일로 실행하기 project 경로에서 terminal 실행 ./gradlew build 커맨드 입력(Window는 ./gradlew.bat) 필요한 라이브러리 및 jar를 포함한 build 폴더가 생성됨. ./build/libs 의 생성된 jar 파일 확인 java -jar (jar파일명) 커맨드 입력(18M 용량) spring 실행 확인(서버가 이미 켜져있으면 에러나므로 주의!) (지금은 jar 파일로 실행을 간단히 할 수 있지만, 과거에는 톰캣을 서버에 설치하고 특정 경로에 war 같은거 집어넣어서 실행해야했다고함) *참고 : build가 잘안될때 - clean build clean 명령어를 사용하면 프로젝트의 build 디렉토리를 지운다. clean buil.. 2022. 6. 29.