본문 바로가기

Back-end/Spring18

[Spring] 스프링 DB 접근 기술 스프링 입문강의를 들으면서 복습겸 기록을 합니다. H2 데이터베이스 설치 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 https://www.h2database.com 다운로드 및 설치 h2 데이터베이스 버전은 스프링 부트 버전에 맞춘다. 권한 주기: chmod 755 h2.sh (윈도우 사용자는 x) 실행: ./h2.sh (윈도우 사용자는 h2.bat) 데이터베이스 파일 생성 방법 jdbc:h2:~/test (최초 한번) ~/test.mv.db 파일 생성 확인 이후부터는 jdbc:h2:tcp://localhost/~/test 이렇게 접속 테이블 생성하기 테이블 관리를 위해 프로젝트 루트에 sql/ddl.sql 파일을 생성 drop table if exists member CASCADE; c.. 2021. 9. 21.
[Spring] 회원 관리 예제 - 웹 MVC 개발 스프링 입문강의를 들으면서 복습겸 기록을 합니다. 회원 웹 기능 - 홈 화면 추가 홈 컨트롤러 추가 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } 회원 관리용 홈 Hello Spring 회원 기능 회원 가입 회원 목록 참고: 컨트롤러가 정적 파일보다 우선순위가 높다. 회원 웹 기능 - 등록 1. 회원 등록 폼 개발.. 2021. 9. 21.
[Spring] 스프링 빈과 의존관계 스프링 입문강의를 들으면서 복습겸 기록을 합니다. 컴포넌트 스캔과 자동 의존관계 설정 회원 컨트롤러에 의존관계 추가 package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller public class MemberController { private final MemberService memberService; @Autowired public MemberController(MemberServic.. 2021. 9. 21.
[Spring] 회원 관리 예제 - 백엔드 개발 스프링 입문강의를 들으면서 복습겸 기록을 합니다. 비지니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비지니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비지니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용 회원 도메인과 .. 2021. 7. 29.
[Spring] 스프링 웹 개발 기초 스프링 입문강의를 들으면서 복습겸 기록을 합니다. 정적 컨텐츠 ( 그냥 파일을 그대로 웹 브라우저에 전달) 스프링 부트 정적 컨텐츠 기능 https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features // hello-static.html 파일 내용 정적 컨텐츠 입니다. 실행 (http://localhost:8080/hello-static.html) 정적 컨텐츠 작동원리 MVC와 템플릿 엔진 ( 서버에서 뭔가 변형해서 내려주는 방식 ) MVC : Model, View, Controller 서로 담당하는 것들을 분리해서 관리를 한다. : 비지니스 로직과 관련, 내부를 처리하는것에 집중 @Controller public.. 2021. 7. 29.
[Spring] 프로젝트 환경설정 스프링 입문강의를 들으면서 복습겸 기록을 합니다. 프로젝트 생성 사전 준비물 Java 11설치 IDE : IntelliJ 또는 Eclipse 설치 스프링 부터 스타터 사이트에 가서 아래의 설정대로 스프링 프로젝트생성 https://start.spring.io 라이브러리 살펴보기 IntelliJ에서 Command 두번 누르면 오른쪽 에 Gradle이 뜬다 더보기 Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다. 그 Dependecies를 보면 라이브러리들을 볼 수 있다 현업에서는 System.out.println을 쓰지 않고 log를 쓴다. test할 때는 junit 라이브러리을 사용한다. * 스프링부트 라이브러리 spring-boot-starter-web spring-boot-starter.. 2021. 7. 26.