Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바
- 스프링
- QueryDSL
- java
- 스프링 핵심 기능
- 김영한
- 스프링 핵심 원리
- transaction
- Servlet
- Greedy
- Spring Boot
- db
- spring
- springdatajpa
- 그리디
- Thymeleaf
- SpringBoot
- JDBC
- 알고리즘
- AOP
- pointcut
- 백준
- Android
- Proxy
- jpa
- Exception
- http
- kotlin
- 인프런
- JPQL
Archives
- Today
- Total
개발자되기 프로젝트
Test용 데이터 추가 본문
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
'Project > 블로그 게시판 만들기' 카테고리의 다른 글
Listener, Formatter 사용 (0) | 2021.10.07 |
---|---|
글 상세 페이지에 작성자 추가 (0) | 2021.10.07 |
현재까지 진행 상황 (0) | 2021.10.06 |
댓글기능 오류 수정, @ModelAttribute 실패 (0) | 2021.10.06 |
댓글 기능 추가 (0) | 2021.10.06 |
Comments