
회원 웹 기능 - 조회 회원 웹 기능 - 홈 화면 추가 홈 컨트롤러 추가 controller(package) - HeomController(class 추가) template(폴더) - home.html(파일생성) Hello Spring 회원 기능 회원 가입 회원 목록 http://localhost:8080을 실행하면 아래처럼 잘 나온다. 그런데 저번 실습에선 실행 후 welcome page로 간다며 index.html로 간다고 설명했다. 사실 이들 간에도 우선순위가 있다. 먼저, 요청이 오면 스프링 컨테이너를 뒤져 관련 컨트롤러를 찾는다. 만약 없을 경우 index.html 파일을 찾아 보여주지만, 위 실습에선, mapping 된 관련 컨트롤러가 존재하기에 무사히 로드된 것이다. 회원 웹 기능 - 등록 ..

스프링 빈을 등록하고, 의존관계 설정하기 컨포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기 컴포넌트 스캔과 자동 의존 관계 설정 회원 컨트롤러가 회원 서비스와 회원 레포지토리를 사용할 수 있게 의존관계를 준비하자. 회원 컨트롤러에 의존관계 추가 생성자에 @Autosired가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아 넣어준다. 이렇게 객체 의존 관계를 외부에서 넣어주는 것을 DI(Dependency Injection) 의존성 주입이라고 한다. 이전 테스트에서는 개발자가 직접 주입했지만 이번 실습에선 @Autosired에 의해 스프링을 주입했다. 오류발생 위 코드를 실행해 보니 MemberService를 찾을 수 없다는 에러가 발생했다. MemberService가 스프링..

기능이 원하는 대로 동작하는지 알아보기 위해 검증을 해야 한다. 이럴 때 테스트 케이스를 사용한다. 회원 리포지토리 테스트 케이스 작성 개발한 기능을 실행해서 테스트 할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기 어렵기 때문에 여러 테스트를 한 번에 실행하기 어렵다.(단점) 자바는 JUnit 이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결했다. test - java - hello.hellospring(package) - repository(package) - MemoryMemberRepositoryTest(calss)를 하나 만들었다. class MemoryMemberR..

비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음 (가정) 일반적인 웹 어플리케이션 계층 구조 컨트롤러 : 웹 MVC읭 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 도메인 객체, ex) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됌. 클래스 의존 관계 아직 데이터 저장소가 선정되지 않아서 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL, 등등 다양한 저장소를 고민중인 상황으로 가정 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용. 회원 도메인과 ..

정적 컨텐츠 그냥 파일을 웹 브라우저에 올려주는것. https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content Spring Boot Features Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow) and with both reactive and Servlet-based web applications. It occurs as part of closing the applicatio..

Welcome Page 만들기 "resources/static/index.html" 이 경로에 index.html 이라고 넣어두면 스프링 부트에서 이를 welcome Page로 인식한다. (welcome page는 도메인을 누르고 들어왔을 때 보이는 첫화면.) static 아래에 index.html 파일을 만들고 첫 페이지! 잘 떴답니당 아래의 내용을 적은 뒤 다시 실행시키면 스프링 부트는 스프링 생태계 자체를 감싸, 스프링의 거대한 기능들을 편리하게 사용할 수 있도록 해준다. 그러나 스프링은 너무나 크기 때문에 전부를 공부한다는 건 어려운 일이다. 그래서 필요한 걸 찾아 사용할 줄 아는 능력이 중요하다 궁금한 게 생겼을 땐 아래 사이트에 들어간다. https://spring.io/ Spring | Ho..

H2 프로젝트 생성 사전 준비물 : Java11 설치, IDE(InteliJ 또는 Eclipse) Spring Project 생성 스프링 부트 스타터 사이트로 이동하여 Spring Project를 생성할 수 있다. https://start.spring.io/ Project (필요한 라이브러리를 가져오고, 빌드하는 Life Cycle까지 관리해 주는 툴) Maven : 과거에 자주 씀 Gradle : 요즘 자주 쓰는 추세. Language Java : 선택 Kotlin Groovy Spring Boot : 버전 선택 SNAPSHOT : 아직 만들고 있다는 의미. M1 : 정식버전이 아니라는 의미 ( 처음 들어갔을 때, 그대로 프로젝트를 생성해도 될 것 같다.) Project Metadata Group : ..