롬북 의존성 입히기
더미데이터
test클래스
롬북으로 의존성 입히기
기존 방식
@Controller
public class BoardController {
private final BoardService boardService;
// RequiredArgsConstructor 추가하면서 해당 코드 삭제
public BoardController(BoardService boardService) {
this.boardService = boardService;
}
}
@RequiredArgsConstructor
Lombok
스프링 DI 방법 중에 생성자 주입을 임의의 코드없이 자동 설정하는 어노테이션
package com.example.blog.Board;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Controller;
@RequiredArgsConstructor // hibernate 생성자 만듬
@Controller
public class BoardController {
private final BoardService boardService;
}
package com.example.blog.Board;
import jakarta.persistence.EntityManager;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
@RequiredArgsConstructor
@Repository
public class BoardRepository {
// JPA는 EntityManager로 DB에 접근 (자바에서 DBConnection)
private final EntityManager em;
}
더미데이터 생성
- resources > db폴더 생성 > .sql 파일 및 더미데이터 만들기

- Application.properties 외부설정
- classpath : 스프링이 정한 데이터 리소스 경로
- spring.jpa.defer-datasource-initialization=true : 테이블 생성과 초기화 이루어짐
- h2-console sql db 더미데이터 확인

에러 및 test클래스
- 에러 확인하기 실행 > 콘솔창 ERROR 부분에 내가 만든 클래스를 찾아 옆으로 확인

- test 클래스 - 확인할 파일과 동일한 이름에 Test붙이기 기능 만들기 > 테스트 > 다음 기능 만들며 진행
package com.example.blog.board;
import com.example.blog.Board.Board;
import com.example.blog.Board.BoardRepository;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.context.annotation.Import;
import java.util.List;
@Import(BoardRepository.class)
@DataJpaTest // DB 관련 자원들을 메모리(IoC)에 올림
public class BoardRepositoryTest { // test클래스는 test 붙이기
@Autowired
private BoardRepository boardRepository;
@Test // 자체 스레드 생성
public void findAll_test() {
// given 생략가능
// 매개변수에 파라미터못씀
// when 어디서 찾을건지
List<Board> boardList = boardRepository.findAll();
// eye
for(Board board : boardList) {
System.out.println(board.getId());
System.out.println(board.getTitle());
System.out.println(board.getContent());
System.out.println(board.getCreatedAt());
System.out.println("===============");
}
}
}

Share article