롬복을 사용하려면 enable annotation processing에 체크해줘야 한다.
롬복이 제대로 실행되었는지 확인
resource -> templates -> hello.html
cmd + B : 그곳으로 이동
View 환경설정
스프링 부트 thymeleaf viewName 매핑 resources:templates/ +{ViewName}+ .html
렌더링 하지 않는 파일 -> static 폴더
렌더링 할 파일 -> templates 폴더
참고: spring-boot-devtools 라이브러리를 추가하면, html 파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능하다.
Testcase 작성 중 에러 해결
https://jjunii486.tistory.com/166
스프링부트] JUnit Test 에러
java.lang.Exception: No runnable methods at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191) at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128) at org.ju
jjunii486.tistory.com
package jpabook.jpashop;
import com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer;
import org.assertj.core.api.Assertions;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import static org.junit.Assert.*;
@RunWith(SpringRunner.class)
@SpringBootTest
@Rollback(false) // 롤백안하고 커밋
public class MemberRepositoryTest {
@Autowired
MemberRepository memberRepository;
@Test
@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());
Assertions.assertThat(findMember).isEqualTo(member);
System.out.println("findMember == member : " + (findMember == member));
}
}
같은 영속성 컨텍스트 안에서는 같은 아이디면 엔티티가 같다.
영속성 컨텍스트에 있네? 하고 1차 캐시에서 가져옴
쿼리파라미터에 로그 남기기
스프링 부트를 사용하면 이 라이브러를 추가하면
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6'
이렇게 뜬다.
이 라이브러리는 개발시엔 괜찮지만 배포시에는 성능 테스트를 해봐야한다.
'스프링 > JPA 활용' 카테고리의 다른 글
회원 서비스 테스트코드 (0) | 2023.04.17 |
---|---|
도메인 분석 설계 (0) | 2023.04.13 |