10.service 객체사용하기
Service 객체사용하기
1.객체 사용
- 데이터 서비스 생성과 바인딩
servlet.xml에 있는 bean들은 ioc 컨테이너에 생성이 되는데 컨트롤를 쓸 수있게 한다
그럼 이때 컨트롤이 어떻게 사용되는지를 알아보자
xml dispathcher를 통해 서비스 객체가 만들어지고 서비스 객체는 컨트롤러에 셋팅 되서 컨트롤러가 일을한다
오라클을 사용하기위해 메이븐 dependecy를 이용하여 oracle의 라이브러리를 사용한다
- dispathchar.xml
<bean id="noticeservice" class="com.newleture.web.service..NoticeService"/>
ioc 컨테이너 에 담겨 객체화가 된다 객체화가 되면 컨트롤러가 필요하니 컨트롤러에 가서 인젝션을 한다
<property name="noticeService" ref="noticeService"/>
- setter를 가지고 객체화하기
package com.newleture.web.controller.notice;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import com.newleture.web.entity.Notice;
import com.newleture.web.service.jdbc.NoticeService;
public class ListController implements Controller {
// 인스턴스를 어떻게 설정할거냐면
private NoticeService noticeService;
//xml의 rel은 아래의 notice
public void setNoticeService(NoticeService noticeService) {
this.noticeService = noticeService;
}
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView("notice.list");
//noticeservice 이용하기
List<Notice> list = noticeService.getList(1, "TITLE","");
mv.addObject("list",list);
return mv;
}
}
property name=”noticeService” :setNoticeSevice
ref=”noticeService: 는 (NoticeService noticeService)의 noticeService에 전달
서비스 객체는 컨트롤러에 셋팅 되서 컨트롤러는 태어나서 일을 한다
- jsp에 객체 삽입하기
<c:forEach var ="n" items="${list}">
<tr>
<td>${n.id}</td>
<td class="title indent text-align-left"><a href="detail.html">${n.title} 8강까지의 예제 코드</a></td>
<td>${n.writerId}</td>
<td>${n.regDate }</td>
<td>${n.hit}</td>
</tr>
</c:forEach>
id는 생성자 id 가 아니라 getId이다 getID에서 get을 뺴고 앞의 대문자를 소문자로 바꾼것이다
댓글남기기