1. 자바스프링 정리
2024. 1. 16. 14:57ㆍ언어/java
728x90
일단 MVC 패턴으로
DAO
ㄴ EquipmentDAO
Service
ㄴ EquipmentServiceImpl(class)
ㄴ EquipmentService(interface)
Controller
ㄴ EquipmentController
폴더를 생성
DAO
데이터 베이스에 보내주는 역활
public interface EquipmentDAO {
public int equipmentInsert(HashMap<String, Object> params) throws Exception;
}
Service
비즈니스 로직을 담당
여기서
EquipmentServiceImpl(class)
EquipmentService(interface) 두개가있는데
왜 ? 두개를 써야되는데?
EquipmentService(interface)에 장비등록을 만들어줍니다.
public interface EquipmentService {
public int equipmentInsert (HashMap<String, Object> params) throws Exception;
}
만약 우리가 EquipmentServiceImpl 에 비즈니스 로직인(장비등록) 을 만들어 놨습니다.
@Service
public class EquipmentServiceImpl implements EquipmentService {
@Override
public int equipmentInsert(HashMap<String, Object> params) throws Exception {
return equipmentDAO.equipmentInsert(params);
}
}
그러면 우리는 장비 등록을 쓸수 있겠죠?
근데
장비 말고 사용자를 등록하고 싶다. 그러면
humantServiceImpl 파일을 만들어서 이렇게 적어주고 원래있던 EquipmentServiceImpl 에 서비스를 주석처리하면
바로 쓸 수있습니다.
@Service
public class humanServiceImpl implements EquipmentService {
@Override
public int equipmentInsert(HashMap<String, Object> params) throws Exception {
return equipmentDAO.equipmentInsert(params);
}
}
간단히 말하면, 의존성 주입은 필요한 기능을 외부에서 주입받아 사용하는 것입니다.
이를 통해 우리는 다른 기능을 쉽게 추가하거나 변경할 수 있으며, 코드의 유연성과 확장성을 높일 수 있습니다.
또한 같은 기술일 경우 굳이 컨트롤을 수정할 필요없이 코드의 확장성을 높일 수 있습니다.
Controller
@RequestMapping(value = "/equipmentInsert.json", method = RequestMethod.POST)
public ModelAndView equipmentInsert(@RequestBody HashMap<String, Object> params) throws Exception {
System.out.println("equipmentInsert Controller" + params);
ModelAndView mav = new ModelAndView("jsonView");
mav.addObject("result", equipmentService.equipmentInsert(params));
return mav;
}
728x90
'언어 > java' 카테고리의 다른 글
프로젝트 2 날라가기전에 복구파일 (0) | 2024.01.18 |
---|---|
프로젝트 1 날라가기전에 복구 파일 (0) | 2024.01.18 |
카카오 지도 api / 쿼리문 (0) | 2024.01.12 |
8. CRUD 연동 연습 (1) | 2024.01.12 |
7. 카페메뉴 백엔드 CRUD (0) | 2024.01.07 |