반응형

프로젝트 생성


이전 프로젝트에 이어서 로그인 기능을 학습해보자.
이전 프로젝트를 일부 수정해서 login-start라는 프로젝트에 넣어두었다.


프로젝트 설정 순서

  1. login-start의 폴더 이름을 login로 변경하자.
  2. 프로젝트 임포트
    File Open 해당 프로젝트의 build.gradle을 선택하자. 그 다음에 선택창이 뜨는데, Open as Project를 선택하자.
  3. ItemServiceApplication.main()을 실행해서 프로젝트가 정상 수행되었는지 확인하자.


실행

  • http://localhost:8080
    실행하면 HomeController에서 /items로 redirect 한다.

 



패키지 구조 설계

package 구조

  • hello.login
    • domain
      • item
      • member
      • login
    • web
      • item
      • member
      • login

 

도메인이 가장 중요하다.
도메인 = 화면, UI, 기술 인프라 등등의 영역은 제외한 시스템이 구현해야 하는 핵심 비즈니스 업무 영역을 말함


향후 web을 다른 기술로 바꾸어도 도메인은 그대로 유지할 수 있어야 한다.
이렇게 하려면 web은 domain을 알고 있지만 domain은 web을 모르도록 설계해야 한다. 
이것을 web은 domain에 의존하지만, domain은 web을 의존하지 않는다고 표현한다.
예를 들어 web 패키지를 모두 삭제해도 domain에는 전혀 영향이 없도록 의존관계를 설계하는 것이 중요하다. 
반대로 이야기하면 domain은 web을 참조하면 안된다.

 

반응형