Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

[로그인] 프로젝트 생성, home 화면 본문

인프런/[인프런] 스프링 MVC 2

[로그인] 프로젝트 생성, home 화면

Seung__ 2021. 9. 25. 21:51

1. Package 구조 설계


  • Package 구조
  • hello.login
    • domain
      • item
      • member
      • login
    • web
      • item
      • member
      • login
  • Domain이 가장 중요함!!
    • 도메인은 화면, UI, 기술 인프라 등등의 영역은 제외한
    • 시스템이 구현해야 하는 핵심 비즈니스 업무 영역을 말함
      • 향후 web 기술을 바꿔도 Domain은 그대로 유지할 수 있어야 함.
      • 이렇게 하려면 web은 domain을 알고있지만 domain은 web을 모르도록 설계해야 한다. 
      • 이것을 web은 domain을 의존하지만, domain은 web을 의존하지 않는다고 표현한다. 
      • 예를 들어 web 패키지를 모두 삭제해도 domain에는 전혀 영향이 없도록 의존관계를 설계
      • 반대로 이야기하면 domain은 web을 참조하면 안된다.

 

 

2. home 화면


@Slf4j
@Controller
public class HomeController {

    @GetMapping("/")
    public String home() {

        return "home";
    }
}
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <link th:href="@{/templates/css/bootstrap.min.css}"
          href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container" style="max-width: 600px">
    <div class="py-5 text-center">
        <h2>홈 화면</h2>
    </div>
    <div class="row">
        <div class="col">
            <button class="w-100 btn btn-secondary btn-lg" type="button"
                    th:onclick="|location.href='@{/members/add}'|">
                회원 가입
            </button>
        </div>
        <div class="col">
            <button class="w-100 btn btn-dark btn-lg"
                    onclick="location.href='items.html'"
                    th:onclick="|location.href='@{/login}'|" type="button">
                로그인
            </button>
        </div>
    </div>
    <hr class="my-4">
</div> <!-- /container -->
</body>
</html>

 

3. GitHub : login


 

GitHub - bsh6463/login

Contribute to bsh6463/login development by creating an account on GitHub.

github.com

 

Comments