
| 항목 | Env Info |
|---|---|
| 🖥️ 서버 | Tomcat |
| 🍭 프레임워크 | Spring Boot |
| 📀 데이터베이스 | MySQL with Azure |
| 📝 JPA | Hibernate |
| 🙈 외부 라이브러리 | lombok, thymeleaf |
| 📏 디자인 패턴 | MVC |
가. @Service 사용
이 어노테이션을 사용하게 되면 해당 클래스 오브젝트를 Spring이 관리해준다. 이 오브젝트는 Spring이 IOC 컨테이너에서 가져오고 Bean이라는 이름으로 관리한다.
선언만하고 객체 안만들어줘도 됨 개발자가.
나. 사용 예시
public boolean saveItem(String title, Integer price , Model model){
Item item = new Item();
if (title.length()>=20){
model.addAttribute("title_error", "글자가 20자가 넘었습니다.");
return false;
}
else if (price <0){
model.addAttribute("price_error", "음수는 안 됩니다.");
return false;
}
else{
item.setTitle(title);
item.setPrice(price);
itemRepository.save(item);
return true;
}
}
위의 코드처럼 Item을 사용자가 서버에 저장할 때, 서버가 해당 Item이 정상적인 데이터인지 검사해주는 비즈니스 로직을 따로 구현해놓을 수 있다. 해당 클래스는 Service로 객체를 선언에 바인딩 시킬 필요 없이 그냥 선언된 채로 사용하면 Spring이 알아서 바인딩 해준다.
비즈니스 로직 모듈화를 통한 코드 재사용성 및 유지보수성 향상의 중요성 인지