Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

Test용 데이터 추가 본문

Project/블로그 게시판 만들기

Test용 데이터 추가

Seung__ 2021. 10. 7. 20:57

1. 배경


테스트 하기 위해 매 번 회원가입하고, 글쓰고 댓글쓰기 너무 귀찮다....ㅡㅡ

 

차라리 스프링이 올라갈 때 미리 데이터를 넣어놓자.

 

2. InitMember


  • 회원 2명, 글 2개, 댓글 3개를 추가해보자.
  • InitMember라는 클래스를 생성했다. @Component로 지정하여 스프링 빈으로 등록하자.
  • @PostConstruct는 빈 생성 이후에 실행되는 메서드를 지정한다.
  • 모든 데이터 변경은 Transaction내에서 실행되어야 한다.
  • 객체간에 연관관계도 모두 맺어주었다.
  • 주의사항
    • Init, InitService는 예약어이다
@Component
@RequiredArgsConstructor
public class InitMember {

    private final MemberService memberService;
    private final CommentService commentService;
    private final PostService postService;


    @PostConstruct
    @Transactional
    public void init(){

        Member member1 = new Member("Admin", "test", "test", "test@naver.com");
        memberService.joinMember(member1);

        Post post1 = new Post("testTitle", "testContent");
        post1.setMember(member1);
        postService.savePost(post1);

        Comment comment1 = new Comment("testComment");
        comment1.setPost(post1);
        comment1.setMember(member1);
        commentService.saveComment(comment1);

        Member member2 = new Member("testMember", "test1", "test1", "test1@naver.com");
        memberService.joinMember(member2);

        Post post2 = new Post("testTitle2", "testContent2");
        post2.setMember(member2);
        postService.savePost(post2);

        Comment comment2 = new Comment("testComment2");
        comment2.setPost(post2);
        comment2.setMember(member2);
        commentService.saveComment(comment2);

        Comment comment3 = new Comment("testComment3");
        comment3.setPost(post2);
        comment3.setMember(member2);
        commentService.saveComment(comment3);
    }


}

 

3. 결과


  • application실행하자 마자 DB에서 확인해 봤다.
  • 크크 잘 들어가있다.

  • 글이랑 댓글도 미리 추가되어 있다 ~~

 

 

 

4. 앞으로..


  • Test용 data 서버시작할 때 DB에 올리기
  • Listener
    • createdAt, updatedAt등
  • 게시글에 작성자 표시
  • 댓글 삭제 버튼
  • 대댓글
  • 검증 & 예외처리
    • 회원 가입시 필수 정보 지정.
    • 데이터 타입 지정
  • 인증처리
    • 로그인한 사용자만 글 & 댓글 작성 가능.
    • 본인이 작성한 글, 댓글만 삭제 가능
    • 관리자는 모든 권한
  • 예외처리
  • 페이징 처리
  • 컬렉션 조회 최적화

 

5. GitHub: 211007 Initial Data


 

GitHub - bsh6463/blog

Contribute to bsh6463/blog development by creating an account on GitHub.

github.com

 

Comments