자바 기반으로 되어 있는것은 간편하게 설정이 가능하나, 코틀린 기반으로 된 스프링부트 설정하는데에 애를 먹었다.
굳이 VSCode가 아닌 다른 IDE를 사용하면 되는데 VSCode를 쓴 이유는, 범용적이고 여러 방면에서 쓸 수 있기 때문이다.
프론트엔드 개발을 하든지, 기타 다른 개발을 할때도 사용이 가능하고 무료이기 때문에 기를 쓰고 VSCode 세팅법을 찾았다.
VSCode를 쓰지 않아도 된다면, 무료툴인 https://spring.io/tools 를 쓰는걸 추천한다
- 이 중 spring tools for eclipse 버전을 설치하면 된다.
Spring | Tools
spring.io
물론 코틀린 기반이 아닌 Java 기반은 VSCode에서도 매끄럽게 잘 동작 한다.
기본적인 VSCode 설치나 JDK 설치 등은 워낙 잘 나와 있으므로 넘어간다.
- 코틀린 컴파일러 설치
- VSCode에서 코틀린을 사용하기 위해서 반드시 설치해야 한다.
- https://github.com/JetBrains/kotlin/releases 여기서 원하는 버전을 찾아 누른 후 쭉 내리면, kotlin-compiler.xxx.zip 이 있다. 반드시 compiler.zip을 받자. kotlin-native 아니다.
- 압축을 풀고, 압축 푼 폴더 -> bin 폴더 경로를 환경설정에 추가 하자.
- VSCode Extension 추가
- Code Runner
- Spring Initializr
- 그외 각종 Kotlin, Spring boot extension 들을 받아준다.
- gradle 로 검색하여 java나 spring boot, kotlin 관련된 것들을 받아준다.
- 프로젝트 생성
- VSCode 상단 -> View -> Command Palett -> Spring Initalizr : Create Gradle Project 클릭
- 프로젝트 이름, 자바버전, 스프링 버전, 사용 언어 (자바, 코틀린중 선택) 을 설정한다
- Dependency 설정에서, 롬복, Spring Web 등을 추가한다.
- 롬복 : getter, setter 등을 어노테이션을 통해 자동으로 생성해주는 라이브러리
- 테스트를 위해 프로젝트 폴더 -> resources 폴더 -> static 폴더 (위의 dependency 에서 spring web 을 선택했으면 생겨 있다) -> index.html 추가 하여 내용을 적절히 적는다.
- 프로젝트 빌드 및 실행
- Java 를 언어로 선택하였다면, 그냥 상단의 실행버튼 혹은 소스코드 함수 시작점에 Run을 클릭하면 되나, 코틀린은 터미널에서 빌드 -> 실행 과정을 거쳐야 한다.
- Java 를 언어로 선택하였다면, Spring Boot Dashboard (Extension 에서 추가) 에서 실행 할 수 있다.
- 해당 extension은 코틀린은 지원하지 않는다.
- 코틀린 기반으로 빌드, 실행하기 위해선 다음을 따른다
- 터미널에서 gradlew 가 있는 위치로 이동한다 (dir...)
- ./gradlew jar 명령어 실행 (빌드 명령어)
- ./gradlew bootrun 명령어 실행 (빌드 + 실행 명령어)
- 브라우저에서 localhost:8080 으로 접근 가능하다.
- 만일 VSCode 좌측에 Gradle 아이콘이 뜬다면, https://dean83.tistory.com/231 여기를 참조하여 빌드, 실행 할 수 있다.
- 나같은 경우 안뜨다가, VSCode 상단 메뉴중 File -> Add Folder to workspace -> 프로젝트 내부 폴더 전체 선택 (gradle, bin, src 등등)
- VSCode 껐다가 다시 켠 다음 백그라운드 작업이 완료될때 까지 기다리니 떴다.
- => 폴더를 열 때 프로젝트 폴더 -> gradle, bin, src 등등 폴더가 있는 상태에서 선택하여 여니 떴다.
- 스프링부트 기본 구조
- 크게 다음의 구조로 이루어 진다.
- Entity 생성
- DB 테이블 및 컬럼 매핑 클래스
- DTO로 확장 가능하다.
- Repository 생성
- Entity를 이용해 DB CRUD 동작 수행하는 인터페이스
- findby 함수 활용
- Entity를 이용해 DB CRUD 동작 수행하는 인터페이스
- Service 생성
- Repository 인터페이스를 외부에 감추고, 서비스에서 이용하여 DB CRUD 동작을 한다.
- 컨트롤러에서 서비스를 이용해 Repository 동작을 수행
- Controller 생성
- url 주소를 매핑하여 Service를 통해 데이터 입력, 조회 후 리턴
'Backend > SpringBoot' 카테고리의 다른 글
[기본구조2] JPA 초기 설정 (DB 관리) 및 Entity 예제(validation 포함) (0) | 2024.10.22 |
---|---|
프로젝트 설정파일 application.properties (또는 application.yml) (0) | 2024.10.22 |
[VSCode] 코틀린 + 자바 섞어서 쓰기 (0) | 2024.10.21 |
[기본 구조1] 컨트롤러 (@controller) 및 각종 매핑 (0) | 2024.10.21 |
[VSCode] Gradle 환경 빌드 및 실행 (0) | 2024.07.10 |