Untitled

참고: spring-boot-devtools` 라이브러리를 추가하면, html`` 파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능하다.

이제

Untitled

빌드에 리컴파일만 눌러주면 VIEW 에서 수정된 것을 바로 확인할 수 있게 되었다.

즉, 재구동을 하지 않아도 build.gradle의 의존성주입 하나로 해결할 수 있게 된 것이다.


H2 DB 설치 및 세팅

Untitled

Untitled

터미널에서 확인해줘야한다. ****ls -arlth

Untitled

파일생성 확인 후엔, JDBC URL: jdbc:h2:tcp://localhost/~/jpashop 이렇게 접근해야한다. 즉. db생성할 때만 위와같은 경로로 만들어 주고 파일생성 확인 후엔 jdbc:h2:tcp://localhost/~/jpashop 를 추가해서 접근하면 되는 것이다.


테스트 코드

김영한 교수님 코드

package com.jpabook.jpashop.repository;

import com.jpabook.jpashop.entity.Member;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;

import static org.junit.jupiter.api.Assertions.*;

@RunWith(SpringRunner.class) // 스프링과 관련된 걸로 테스트를 할거야라고 알려줘야 되고 그리고 이제
@SpringBootTest // 얠 추가.
class MemberRepositoryTest {

    // TODO: 테스트
    @Autowired MemberRepository memberRepository;

    @Test
    // 트랜잭션은 스프링 프레임워크, 자바 표준이 제공하는 트랜잭션 이렇게 총 2가지가 있다.
    // 나는 스프링 종속적으로 진행하기 때문에, 스프링 프레임워크를 사용한다.
    @Transactional
    public void testMember() throws Exception {
        //given
        Member member = new Member();
        member.setUsername("memberA");

        //when
        Long savedId = memberRepository.save(member);
        Member findMember = memberRepository.find(savedId);

        //then
        Assertions.assertThat(findMember.getId()).isEqualTo(member.getId());
        Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername());
    }
}