inblog logo
|
goho
    스프링부트

    [게시판]3. 글목록보기 -view컨트롤러

    gov's avatar
    gov
    Nov 18, 2024
    [게시판]3. 글목록보기 -view컨트롤러
    Contents
    롬북으로 의존성 입히기더미데이터 생성에러 및 test클래스
    💡
    롬북 의존성 입히기 더미데이터 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 파일 및 더미데이터 만들기
      • notion image
    • Application.properties 외부설정
      • classpath : 스프링이 정한 데이터 리소스 경로
      • spring.jpa.defer-datasource-initialization=true : 테이블 생성과 초기화 이루어짐
      • h2-console sql db 더미데이터 확인
        • notion image

    에러 및 test클래스

    • 에러 확인하기 실행 > 콘솔창 ERROR 부분에 내가 만든 클래스를 찾아 옆으로 확인
      • notion image
    • 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("==============="); } } }
    notion image
     
    Share article

    goho

    RSS·Powered by Inblog