불친절한 코드 생성기 4 - 템플릿 만들기
가장 단순한 컨트롤러 코드를 가져다가 군대 군대 코드를 끼워 넣을 지점에 프리마커 태그(?)로 표시를 합니다.
@Controller
@SessionAttributes("${domainName}")
public class ${domainClass}Controller {
@Autowired ${domainClass}Service service;
@Autowired ${domainClass}Validator validator;
@RequestMapping(value="/${domainName}/list.do")
public void list(Model model) throws ServletRequestBindingException {
model.addAttribute("list",service.getAll());
}
@RequestMapping(value="/${domainName}/{id}.do")
public String view(Model model, @PathVariable int id) {
model.addAttribute(service.get(id));
return "${domainName}/view";
}
@RequestMapping(value="/${domainName}/add.do", method=RequestMethod.GET)
public void add(Model model) {
model.addAttribute(new ${domainClass}());
}
...
이런식입니다. 참 쉽죠?
- 자바 코드에서 최대한 제네릭하게 편집한 다음 프리마커 편집기로 가져오는 것이 좋겠습니다.
- 태그로 교체할 때는 replace 툴을 이용합시다.
- 친절한 코드 생성기를 만들 때는 템플릿을 어떻게 만드냐에 따라 코드 생성기와 모델의 복잡도가 달라질 겁니다.
- 저는 불친절한 코드 생성기를 만들고 있기 때문에 맘편히 쉽게 만들었습니다.(생성뒤 필요한 import는 알아서 하도록..ㅋ)