프로젝트 생성
개인 프로젝트를 진행하려면, 당연하게도 프로젝트 생성 부터 시작한다. 스프링을 사용하기때문에, 많은 사람이 이용하는 https://start.spring.io/ 사이트에서 원하는 디펜던시를 추가하여 프로젝트 파일을 생성해주자
디펜던시는 추후에도 config에서 추가할 수 있기 때문에 당장 필요한것들만 선택했다. 기본적으로 Spring Web 기본적은 RESTful, MVC, Tomcat을 제공한다고 친절히 설명 돼 있다. 또한 우리 프로젝트의 FE를 책임질 Thymeleaf도 꼭 추가해주자 Lombok은 편리한 기능을 많이 제공해준다.
- Lombok
- 어노테이션 기반의 코드 자동생성을 통한 생산성 향상
- 반복코드 다이어트를 통해 가독성 및 유지보수성 향상
- Getter/Setter외 빌더 패턴이나 로그생성 등 다양한 방면으로 활용가능
해당 프로젝트 파일을 받아, 압축을 풀고 인텔리제이 혹은 이클립스로 실행시키면 아래와 같은 클래스파일이 존재한다. 최초 실행시에는 툴에서 자동으로 업데이트하는 파일들이 존재해 오래 걸릴 수 있으니 상태바를 확인해서 기다려주자
해당 파일을 실행시키면 서버가 구동되는것을 알 수 있다. localhost:설정된포트 링크로 들어가 정상적으로 서버가 작동중인지 확인해보자. 기본 포트는 8080으로 설정되고, 개별적으로 설정한 포트가 있다면 해당 포트로 접속해야한다.
스프링 부트 3.0 버전부터는 자바 11을 지원하지 않고, 17을 지원한다.
정상적으로 서버가 구동됐다면 위와 같은 페이지로 접속이 가능하다. 404가 오류가 뜨는건 현재 페이지가 없으니 뜨는 오류로, 현재 상태에선 정상이다. 인텔리제이 같은 경우는 톰캣을 자동으로 지원해주기 때문에 따로 설정할 필요가 없지만 이클립스는 추가해주어야 작동하는 기능이다.
해당 포스트는 추후에 다루거나, 다른 페이지를 보고 해결하자
이제 메인 페이지를 생성하기 위해, HTML을 생성하기 앞서 경로에 따른 페이지 이동을 하게 해주는 "Controller" 를 만들자. MVC 패턴에대해 정확히 모른다면 이 블로그를 참고하거나, 다른 블로그에서 구조를 대략적으로 파악하는것이 좋다.
패키지 구조
위에서 domain은 화면, UI, 스택 등의 영역을 제외한, 시스템에서 구현해야하 하는 비즈니스 영역을 뜻한다. 다른 view나 기술들이 변경되어도 domain은 유지되어야 하는 영역이다. web은 기술과 함께 바뀌어도 되는 부분들이다.
또한 web은 domain을 의존하지만, 그 반대는 존재해서는 안된다. 반드시 단 방향으로 이루어지게 구성해야한다.
HomeController
@Controller
public class HomeController {
@RequestMapping("/")
public String main() {
return "home";
}
}
클래스에는 @Controller 어노테이션이 필요하고, 메소드에는 세부적인 기능을 하는 여러 어노테이션이 존재하지만 기본적으로 @RequestMapping 어노테이션을 사용하면, 해당 주소가 return값의 템플릿 파일로 이동한다.
home.html에는 정상적으로 구동되는지 확인만 하는 더미데이터를 넣고 테스트하자.
서버를 재실행하고, localhost:8080/ 을 입력했을때, home.html이 나오면 성공적으로 컨트롤러가 작동하는것이다.
'SpringBoot > 프로젝트 게시판 만들기' 카테고리의 다른 글
스프링 게시판 만들기 (4) : login 페이지 (0) | 2023.07.01 |
---|---|
ERD 설계하기 : ERD Cloud (0) | 2023.06.30 |
스프링 게시판 만들기 (3) : MySQL 설치하기, ERD Cloud (0) | 2023.06.30 |
스프링 게시판 만들기 (2) : GNB, LNB, SNB, FNB (0) | 2023.06.28 |
스프링 게시판 만들기 (0) (0) | 2023.06.22 |