본문 바로가기

스프링부트를 이용한 웹페이지 만들기 도전!!/인텔리J

IntelliJ를 이용해서 스프링부트를 시작해보자!! (3) - 프로젝트 구조

저번 포스팅을 따라서 프로젝트 생성을 완료하셨다면 이렇게 생긴 프로젝트가 만들어집니다.

 

다른건 볼 필요없고 src->main 폴더 아래의 java, resources 폴더와 pom.xml, application.properties가 중요합니다.

 

java폴더는 dto, dao, Service, Controller같은 데이터 처리와 관련된 코드가 들어갑니다.

 

resource폴더는 흔히들 아시는 jsp, html, css, javaScript같은 View에 관련된 코드가 들어갑니다.

 

pom.xml은 dependency를 xml의 형태로 추가해주는 코드입니다.

 

1챕터에서 설명했던 것 처럼 코드를 열어보시면 따로 버전을 지칭해주는 부분이 없다는게 보이실겁니다.

 

 

물론 특정 버전을 지정해서 <version> 1.11</version> 이런식으로 해줘도 되지만, 어떤 버전이 호환성이

좋은지 개발자가 알아보지 않아도 되게끔 만들어진게 스프링부트 이므로, 웬만해서는 버전 지정을 안해도

코드를 실행하는데 큰 문제가 발생하지 않게 되어있습니다.

자세한 내용은 아래 블로그를 참고하시면 좋을 것 같습니다.

https://eglowc.tistory.com/38

 

스프링부트 의존성 버전 변경하기(사용자 정의)

**스프링부트**는 기본적으로 사용되는 의존성들과 각 의존성의 버전을 미리 구성해준다. 이로써 개발자는 어떤 의존성을 사용할지 또는 각 의존성간 어떤 버전이 호환성이 좋은지 걱정할 필요

eglowc.tistory.com

 

 

 

그리고, 백엔드와 관련된 코드가 java에 들어가고 프론트엔드와 관련된 코드는 resource에 들어간다고 봅니다.

 

그럼 구분을 위해 폴더를 몇개 추가해서 좀 더 구체적인 구조화를 진행하겠습니다.

 

 

(java)

Controller - url 입력을 받아서 필요한 view에 연결해주는 코드입니다. 연결 해주면서 특정 파라미터를 주고받을 수 있습니다.

 

Dto - 데이터의 틀(클래스)이라고 생각하시면 됩니다. 예를들어서 StudentDto가 있다면 여기에 학번, 성별, 성적 등의 정보를 GETTER/SETTER를 이용해 정의할 수 있습니다. 실제로 사용자와 서버가 데이터를 주고 받을때, 이 Dto에 값을 넣어서 주고받습니다.

 

Dao - Dto형태의 데이터를 데이터베이스에 읽고 쓰는 기능을 합니다. Insert, Update, Delete, Select같은 기본 Query의

명령어를 기억하실겁니다. 이러한 명령어들을 정의하는 부분입니다.

 

Service - Dto와 Dao를 이용해서 실제로 행동을 구현하는 코드입니다. 예를들어서, StudentDto를 인자로 받아서

그 Dto의 "학점"이 4.0 미만이라면 목록에서 Delete(Dao) 하는 기능같은 것을 구현하는 부분입니다.

 

(resources)

 

assets - icon을 저장하는 부분

 

css - html파일의 style을 정해주는 .css 파일을 저장하는 부분

 

js - 버튼클릭, Toggle, 텍스트입력, 콤보박스선택 등의 이벤트가 발생했을때 수행하는 javaScript 저장

 

templates - html 저장

 

 

 

프로젝트 구조를 완성했으니 다음부터는 내부를 채워넣는 작업을 진행하겠습니다.