본문 바로가기

Springboot

[Spring boot] 1.2 개발환경 세팅 - IntelliJ (인텔리제이)에서 Spring boot 프로젝트 시작하기

반응형

0. Spring boot란?

Spring boot는 자바의 웹 프레임워크이다.

이전에 웹 개발을 해본 사람이라면 Spring boot를 보면 Spring이 생각날 것이다.

Spring boot는 Spring을 더 쉽게 이용하기 위한 프레임워크이다. Spring으로 개발을 진행할 때에는, 여러 설정해야하는 것들이 있지만 Spring boot는 Spring에 톰캣 서버를 내장하고, 프로젝트 설정을 많이 자동화하여 간단하게 할 수 있어서 좀 더 Spring 개발을 쉽게 해준다.

 

 

1. 인텔리제이를 연다.

 

2. New project 눌러서 Empty Project 생성한다.

 

3. 생성 후 상단 메뉴바에서 File - Project Structure를 선택한다.

 

4. Modules - New Module 선택

 

5. Spring initializr 선택 후 원하는 JDK 버전 선택과 이름, 위치 설정 등 진행한다.

Language와 Type은 Java와 Maven을 선택하고, JDK는 1.8, Java는 8을 선택해주었다.

Packaging 타입은 jar와 war이 있는데 외부 WAS에 배포해서 사용한다면 war를 선택하면 된다.

 

6. Dependencies를 선택해준다. 나중에도 추가가 가능하므로 꼭 여기서 다 해줄 필요는 없다.

 

7. Module이 추가된 것을 볼 수 있다.

 

8. 프로젝트가 생성된 것을 확인할 수 있다.

8-1. 화면 좌측의 파일들을 좀 살펴보자.

     - DemoApplication.java : 스프링부트 컨테이너를 실행하기 위한 main class

     - resources - static 폴더 : html, css, js 등의 정적컨텐츠가 위치할 폴더

     - application.properties : 설정 정보

     - pom.xml : Maven(빌드 도구)을 위한 설정 파일

8-2. 화면 우측의 Maven 관리창을 보자.

     - Dependencies : 아까 설정에서 추가했던 Dependency들이 추가되어 있는 것을 확인할 수 있다.

 

 

9. static 폴더 밑에 index.html을 생성해준다.

만약 static 폴더가 없다면, 아까 dependency 설정에서 Spring Web을 추가하지 않은 것이다. dependency 추가하고, 폴더 만들면 된다. 

 

10. Run을 해보면 Failed to configure a DataSource라고 하면서 오류가 뜬다.

아까 설정에서 선택한 Maria DB에 대한 DataSource를 application.properties에 정의해야 한다.

 

11. '10번'의 에러를 해결하려면 application.properties에 DataSource 정보를 입력해주든가, @SpringBootApplication(exclude={DataSourceAutoConfiguration.class}) 어노테이션을 사용하면 된다.

위의 어노테이션은 WAS 구동 시에 Auto Configuration에서 DataSource 설정 로드를 제외(exclude)해주는 어노테이션이다.

해당 어노테이션은 org.springframework.boot.autoconfigure.jdbd.DataSourceAutoConfiguration을 import 해주면 사용 가능하다.

import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

 

12. 잘 실행이 되는 것을 볼 수 있고, localhost:8080에서 index.html를 확인할 수 있다.

나는 index.html에 title 부분을 제외하고 아무것도 쓰지 않아서 저렇게 비어있는 건데, 좀 더 충실히 작성하면 내용도 나올 것이다.

 

 

 

참고 사이트 : https://wikidocs.net/160047, https://ifuwanna.tistory.com/294

728x90
반응형