위드
1k
2018-03-09 12:00:06 작성 2018-03-09 12:02:08 수정됨
3
1039

스프링 웹 mvc에서 각 모듈별로 디렉토리 구조 어떻게 짤까요?


안녕하세요


질문이 정말 별거아니거나 쓸데없을수도있습니다...


스프링 mvc 프로젝트를 몇개 진행하면서 보니 사람마다 디렉토리 구조? 레이어 구조? 라고해야되는건지 모르겠지만 조금씩 구조가 다르더라고요

이번에 저도 웹 사이트용 프로젝트를 만드는데 이왕이면 다른사람들이 많이 하는 구조대로하고싶습니다


이해가 안되실수도있어서

예를들어

어떤 프로젝트는 메뉴 기능이라고하면 

service 폴더에 mvc 패턴이라고하면 모델에해당하는 dto나 dao(mapper) 들을 다 몰아넣은 프로젝트가 있기도하고(아래처럼)

java/../menu/controller

                    /service

                    /service/impl


어떤 프로젝트는

dao, dto를 각각 폴더로 구분한데도 있습니다

java/../menu/controller

                    /dao

                    /dto

                    /service


어떤데는 service가 없고 컨트롤러에 비즈니스로직이 다 있는데도 있기도하고요


별거 아닐수도있는데 다른분들은 어떤식으로 구성하시는지 궁금합니다.


저는 대충 아래와 같이 하려고하는데요

java/../menu/controller > 컨트롤러

                    /service/impl > 비즈니스로직

                    /mapper

                    /dto 

위에서 dto를 'model'이라는 폴더로 바꾼다면 어떨지, 다른분들이 바로 알아볼 수 있을까요?아니면 dto말고 폴더명을 뭐라고하면 좋을까요?

(orm은 mybatis를 이용하고 mapperscanner를 사용해서 dao 폴더를 mapper라고 하긴했습니다)

0
0
  • 답변 3

  • java1987
    579
    2018-03-09 12:44:21

    연습용인데 저는 이렇게  구조 잡았어요

    1
  • 위드
    1k
    2018-03-09 12:48:41 작성 2018-03-09 12:53:34 수정됨

    아~ dao, model로 하셨네요


    일단 저도 대충 가닥은

    service

    controller

    mapper

    model

    로 생각해야겠네요

    감사합니다~

    1
  • 오후
    1k
    2018-03-09 12:49:15

    프로젝트 진행문서 룰에따라가시면될거같고 


    개인적으로는 아래와같은 두가지 방법을 애용합니다.


    * 큰규모(잡다한기능이많다)

    ~~~/개별기능/controller

    ~~~/개별기능/service....
     > 기능별 패키지화

    * 소규모

    ~~~/controller
    ~~~/service
     > 역활별 패키지화


    모델 패키지명에대해서는 기본만있으면 다들 인식하니 딱히 뭐라 정의드리기 애매하네요.

    DTO.VO.MODEL.DOMAIN

    1
  • 로그인을 하시면 답변을 등록할 수 있습니다.