일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kotlin
- transaction
- Servlet
- pointcut
- 알고리즘
- Proxy
- Exception
- http
- 김영한
- AOP
- SpringBoot
- 백준
- 그리디
- jpa
- JDBC
- 자바
- springdatajpa
- JPQL
- 인프런
- java
- 스프링 핵심 원리
- db
- Spring Boot
- 스프링
- Android
- Greedy
- QueryDSL
- 스프링 핵심 기능
- spring
- Thymeleaf
- Today
- Total
목록Project/블로그 게시판 만들기 (46)
개발자되기 프로젝트
1. Listener 이벤를 관찰하고 있다가 발생하면 특정 메서드를 실행.\ 이를 활용해서 entity의 생성시간(@PrePersist), 수정시간(@PreUpdate)를 생성하자. Listener를 직접 만들어서 사용할 수 도 있음. Entity Listener - 1 Listener : 이벤트를 관찰하고 있다가 이벤트가 발생하면 특정 동작을 진행하는 것을 말한다. Entity Listener는 Entity가 동작하는 몇 가지 방법에 대한 이벤트를 관찰하고 있음. 1. Listener 관련 annotaions @ bsh-developer.tistory.com 또는 스프링이 제공하는 리스너를 사용할 수도 있다. Entity Listener : 3(@AuditingEntityListener) 앞에서 정보의..
1. 작성자 추가 현제 글 상세보기로 들어가면 작성자가 누구인지 모른다. 추가해주자. 작성자 2. 앞으로.. Test용 data 서버시작할 때 DB에 올리기 Listener createdAt, updatedAt등 게시글에 작성자 표시 댓글 삭제 버튼 대댓글 검증 & 예외처리 회원 가입시 필수 정보 지정. 데이터 타입 지정 인증처리 로그인한 사용자만 글 & 댓글 작성 가능. 본인이 작성한 글, 댓글만 삭제 가능 관리자는 모든 권한 예외처리 페이징 처리 컬렉션 조회 최적화 3, GitHub: 211007 add wirter GitHub - bsh6463/blog Contribute to bsh6463/blog development by creating an account on GitHub. github.com
1. 배경 테스트 하기 위해 매 번 회원가입하고, 글쓰고 댓글쓰기 너무 귀찮다....ㅡㅡ 차라리 스프링이 올라갈 때 미리 데이터를 넣어놓자. 2. InitMember 회원 2명, 글 2개, 댓글 3개를 추가해보자. InitMember라는 클래스를 생성했다. @Component로 지정하여 스프링 빈으로 등록하자. @PostConstruct는 빈 생성 이후에 실행되는 메서드를 지정한다. 모든 데이터 변경은 Transaction내에서 실행되어야 한다. 객체간에 연관관계도 모두 맺어주었다. 주의사항 Init, InitService는 예약어이다 @Component @RequiredArgsConstructor public class InitMember { private final MemberService membe..
1. 현재까지 진행 상황 정말 기본적인 기능들은 구현이 되었다. 회원가입, 로그인, 게시글 작성 & 삭제, 댓글 작성 댓글 작성자 클릭하면 유저 정보 확인 2. 앞으로 진행해야 할 일 Test용 data 서버시작할 때 DB에 올리기 Listener createdAt, updatedAt등 게시글에 작성자 표시 댓글 삭제 버튼 대댓글 검증 & 예외처리 회원 가입시 필수 정보 지정. 데이터 타입 지정 인증처리 로그인한 사용자만 글 & 댓글 작성 가능. 본인이 작성한 글, 댓글만 삭제 가능 관리자는 모든 권한 예외처리 페이징 처리 컬렉션 조회 최적화
1. 현상 현재 댓글을 저장하면 Server로 바인딩이 되지 않는다. 2021-10-06 20:20:21.581 DEBUG 31980 --- [nio-8080-exec-1] org.hibernate.SQL : insert into comment (content, member_id, parent_id, post_id, comment_id) values (?, ?, ?, ?, ?) 2021-10-06 20:20:21.585 INFO 31980 --- [nio-8080-exec-1] p6spy : #1633519221585 | took 2ms | statement | connection 13| url jdbc:h2:tcp://localhost/~/blog insert into comment (content, ..
1. post.html 글 상세 페이지 하단에 댓글을 위한 table을 추가하자. 댓글 입력은 간단하게 form으로 구성했다. 댓글을 보여주는 창은.. 음 .. 일단은 table로 구현했는데.. 댓글 수정, 삭제를 위해선 다른 방식이 필요하다 내용 Submit 2. CommentController Comment 저장 url은 "/new/{postId} 로 지정했다. 그 이유는 댓글은 어떤 게시글에 작성되었는지 저장이 필요하다. PathVariable로 게시글 ID를 받아 연관계 매핑 후 저장한다. Member정보도 마찬가지로 연관관계 설정이 필요하다. 이 때 Member정보는 로그인 정보를 가져온다. 댓글 저장 후 원래 게시글로 redirect @Controller @Slf4j @RequiredArgsC..
현재 글 세부 페이지로 들어가면 삭제할 수 있는 기능이 없다. 추가하자! 1. PostController @PostMapping("/{postId}/delete") public String deletePost(@PathVariable("postId") Long id){ postService.deletePost(id); return "redirect:/posts"; } 원래는 @DeleteMapping("/{postId}")로 하려했으나.. HTML FORM에서 DELETE를 지정하면 GET으로 들어가서.. 어쩔수 없이 URL을 "/{postId}/delete로 했음..ㅜ 2. post.html 글 삭제 3. 결과 글 저장! DB에서도 확인! 삭제!! 없어짐! 4. GitHub : 211005 delete..