전체 글

h2 데이터베이스 다운로드 및 설치 https://www.h2database.com/html/download-archive.html (최근에 나온 버전을 설치하면 일부 기능이 정상 동작하지 않을수 있어 1.4.200버전을 설치하기를 권장한다.) 권한 주기 (mac 사용자만) chmod 755 h2.sh 실행하기 window : h2.bat mac : ./h2.sh 데이터베이스 파일 생성 Embedded 설정 jdbc:h2~/test (최초 한번) 파일 생성 확인 : ~/test.mv.db ➡ 홈 디렉토리(User\사용자이름)에서 확인! 접속하기 jdbc:h2:tcp://localhost/~/test 테이블 생성 drop table if exists member CASCADE; create table me..
본 포스팅은 인프런 - 스프링 입문을 강의를 바탕으로 공부하고 정리한 글입니다. 회원 웹 기능 홈 화면 추가 👉🏻 홈 컨트롤러 추가 📁 controller/HomeController @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; // home.html 호출 } } 👉🏻 회원 관리용 홈 뷰 📁 templates/home.html Hello Spring 회원 기능 회원 가입 회원 목록 👉🏻 실행 (localhost:8080) 웹 브라우저로 부터 온 요청을 톰캣 서버가 받아 스프링에게 전달하면, 스프링은 정적 파일보다 컨트롤러에서 우선적으로 찾는다. 따라서 "localhost:8080..
본 포스팅은 인프런 - 스프링 입문을 강의를 바탕으로 공부하고 정리한 글입니다. 스프링 빈을 등록하는 2가지 방법에 대해 알아보자. 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기 컴포넌트 스캔과 자동 의존관계 설정 앞서 회원 도메인 객체, 회원 서비스, 회원 리포지토리를 만들어주었다. 이를 화면에 보여주기 위해 회원 컨트롤러와 뷰 템플릿이 필요하다. 때문에 회원 컨트롤러를 만들어 줘야 하는데, 이때 회원 컨트롤러가 회원 서비스를 통해 회원 가입 및 조회를 할 수 있어야 한다. 이를 위해 회원 컨트롤러가 회원 서비스 및 회원 리포지토리를 사용할 수 있도록 의존관계를 준비해줘야 한다. 📁 controller/MemberController @Controller public class..
기능단축키windowmac임포트 정리ctrl + alt + O⌥ + ctrl + O임포트 하기alt + enter⌥ + enter변수 추출ctrl + alt + V⌥ + ⌘ + V변수 넣기ctrl + alt + N⌥ + ⌘ + N파라미터로 추출ctrl + alt + P⌥ + ⌘ + P메소드로 추출ctrl + alt + M⌥ + ⌘ + M파라미터 정보ctrl + P⌘ + P이전 / 이후 커서 위치로 이동ctrl + alt + ←, →⌘ + ←,→전 / 후 파일로 이동alt + ←, →⌘ + shift + [ , ]다음 코드라인으로 이동ctrl + shift + entershift + enter단어 단위 이동 ⌥ + ←, →해당 코드의 선언부로 이동ctrl + Bctrl + click⌘ + B구현체로 이동 ..
본 포스팅은 인프런 - 스프링 입문을 강의를 바탕으로 공부하고 정리한 글입니다. 간단한 회원관리 예제를 만들어보면서 Spring이 어떻게 돌아가는지 알아보도록 하자. 비즈니스 요구사항 데이터 : 회원 ID, 이름 기능: 회원 등록, 조회 데이터베이스가 선정되지 않은 상태 웹 어플리케이션 계층 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등 주로 데이터베이스에 저장하고 관리됨 클래스 의존 관계 회원 비즈니스 로직에는 회원 서비스가 있다. 회원 리포지토리는 아직 데이터베이스가 정해지지 않았기 때문에 우선 인터페이스로 구현 클래스를 변경할 수 있..
본 포스팅은 인프런 - 스프링 입문을 강의를 바탕으로 공부하고 정리한 글입니다. 스프링 웹을 개발하는 3가지 방식에 대해 알아보도록 하자. 정적 컨텐츠 : 서버에서 무언가 하지 않고 html 파일을 웹 브라우저에 그대로 내려주는 방식 MVC와 템플릿 엔진 : 서버에서 프로그래밍을 통해 html을 동적으로 바꿔서 웹 브라우저에 내려주는 방식 API : json 이라는 데이터 구조 포맷으로 바꿔서 웹 브라우저에 내려주는 방식 정적 컨텐츠 스프링 부트는 정적 컨텐츠 기능을 기본적으로 제공한다. 참고 정적 컨텐츠는 파일 그대로를 클라이언트에게 전달해주는 방식이다. 👉 View 📁 resources/static/hello-static.html 정적 컨텐츠 입니다. 👉 실행 동작 원리 웹 브라우저로부터 내장 톰켓 ..
본 포스팅은 인프런 - 스프링 입문을 강의를 바탕으로 공부하고 정리한 글입니다. 스프링 프로젝트 생성 및 실행스프링 부트 기반 프로젝트 생성스프링 부트 스타터 사이트를 사용해 스프링 부트 기반 프로젝트를 간편하게 생성할 수 있다.Project : 빌트 관리 툴 선택 (Gradle을 많이 사용)Language : 언어 설정Spring Boot : 스프링 부트 버전 설정정식버전 중 가장 최신버전을 선택하면 된다.SNAPSHOT : 미정식 버전Project MetadataGroup : 보통 기업의 도메인명Artifact : 빌드 결과물 이름Name : 이름Description : 프로젝트 설명Package name : 패키지 이름Packaging : 배포 형태 선택Java : 자바 버전 선택Dependenci..
데이터베이스 데이터를 구조적으로 모아둔 데이터 집합소 대표적인 데이터 베이스 종류 관계형 데이터베이스 NoSQL 관계형 데이터베이스 (RDB) 관계형 데이터베이스(Relational Database)는 데이터를 열과 행을 가진 테이블 형태로 표현하며, 구조적으로 데이터 관리를 한다. * 용어 (A) : 테이블, 릴레이션 (B) : 로우(행), 레코드, 튜플 (C) : 컬럼(열), 속성 관계형 데이터베이스 관리 시스템 (RDBMS) 데이터베이스는 단순히 데이터를 저장하는 저장소이며, 이러한 데이터베이스의 데이터에 접근할 수 있도록 해주는 도구를 데이터베이스 관리 시스템(DBMS)이라 한다. 관계형 데이터베이스를 관리하는 시스템을 RDBMS라고 부른다. 주요 기능은 데이터 추가, 수정, 삭제, 조회, 데이터..
an2z
침착하고 느긋하고 꾸준하게