상세 컨텐츠

본문 제목

78일 - Service 구현 (프로젝트 관련)

수업 일지/Spring

by NayC 2021. 6. 10. 11:26

본문

728x90

사람이 hit 클릭하면 -> 데이터 hitUp 해줘야함

사람이 like 클릭하면 -> 데이터 likeUp 해줘야함

 

그런데 좋아요 취소할 수도 있어야

-> 그래서 이런건 Toggle이라고 해주자. (업할수도 다운할수도 있게 - 사용자 행위가 그대로 묻어나는~) 

 

//

 

* 주의 * 

ServiceImp에는 Dao가 사용되는데, 

막 이것저것 필요하다고 14, 18번째줄처럼 막 가지고 오면 안 된다. 

 

NoticeService에서

getMember() 구현하려면 MemberService를 사용할 일이 생기겠지

이렇게 사용해야함!!! 

서비스끼리 x (누가 제품인지 누가 부품인지 모르겠는 상태로 사용 xxxxx)

 

Q. NoticeController는 Service들 사용할 수 있을까? 

-> 애매하다. 

A거 사용하다가 갑자기 B거 보인다고 B 사용하면 안 됨. 병목화? 고립화? (병목현상 x 고립화시켜주기)

- A, B를 일을 하는 사람이라고 생각하면 이해하기 쉬움. 

  내가 만드는거 vs 남이 만드는거라고 생각하면 됨

- 서로 민폐끼치지 않도록

이러면 사용 가능

Dao를 중복해서 사용하더라도 이런 식이 옳다!! 


NoticeController를 봐보자. 

글을 누르면 저렇게 댓글 목록이 펼쳐지는걸 데이터에 마련해보고 싶다고 해보자.

-> 어떻게 해야할까? 

 

jsp에서 데이터를 뽑아올 때는 <foreach> 안에서 뽑아왔는데, 이 안에서 또 다른 목록을 뽑는거라면... 

list.jsp

Q. 이걸 실제 DB에서 어떻게 할까 ?

-> NoticeController에서 서비스를 만들 때 ~ 

 

Notice.java에 컬럭션 하나 추가 

- pricate List<Comment> comments; 

- 설정들 다시 바꿔주고~ 

 

NoticeServiceImp에서

- private CommentDao commentDao; (@Autowired까지)

 

notice에다가 setCommemnt를 담아주는 것


* 정리 * 

 

이제 남은 부분 : 스프링 '트랜잭션' 

- @Transaction 하나만 써주면 쉽게 처리해줄 수 있다. 

 

cf) 용어들 : 역제어, DI, Dependency 등의 용어에도 익숙해져야 한다. 

 

 

 

// "에러 많이 만나서 예측을 하는 습관을 들이다보면 숙달이 돼요"

 

 

 

 

728x90
반응형

관련글 더보기