본문으로 바로가기

다형성 & Upcasting & Downcasting

category 백엔드Java 7년 전

출처


https://opentutorials.org/course/1223/6127


https://kdyang.tistory.com/16




Spring 프로젝트에서
<컨트롤러>
@Controller
public class WelcomeWebController {
@Resource(name = "welcomeWebService") // @Resource : 인스턴스를 생성해준다고 보면 됌
private WelcomeWebService welcomeWebService;
@RequestMapping(value = "welcomeWebMap.do")
public String welcomeWebMap(HttpServletRequest request, ModelMap model) throws Exception {
HashMap<String, Object> resMap = new HashMap<String, Object>();
resMap.put("age", request.getParameter("age"));
List<EgovMap> welcomeWebList = welcomeWebService.selectWelcomeWebMapList(resMap);
model.addAttribute("welcomeWebList", welcomeWebList);
return "welcomeWeb/welcomeWeb.tiles";
}
}
<서비스>
public interface WelcomeWebService {
List<EgovMap> selectWelcomeWebServiceList() throws Exception;
List<EgovMap> selectWelcomeWebMapList(HashMap<String, Object> resMap) throws Exception;
}
<서비스 임플>
@Service("welcomeWebService") // 해당 클래스가 Service라는 것을 알리기 위한 Annotation
public class WelcomeWebServiceImpl implements WelcomeWebService {
@Resource(name = "welcomeWebMapper")
private WelcomeWebMapper welcomeWebMapper;
@Override
public List<EgovMap> selectWelcomeWebServiceList() throws Exception {
return welcomeWebMapper.selectWelcomeWebServiceList();
}
@Override
public List<EgovMap> selectWelcomeWebMapList(HashMap<String, Object> resMap) throws Exception {
return welcomeWebMapper.selectWelcomeWebMapList(resMap);
}
}
WelcomeWebService welcomeWebService = new WelcomeWebServiceImpl(); => WelcomeWebServiceImpl의 데이터 타입으로
인터페이스 WelcomeWebService를 지정
welcomeWebService.selectWelcomeWebMapList(resMap); => WelcomeWebServiceImpl의 selectWelcomeWebMapList 메소드를 오버라이딩