본문 바로가기
spring

[SpringBoot] Intellij(인텔리제이)에 SpringBoot(스프링부트) 프로젝트 시작하기

by moonsiri 2020. 10. 8.
728x90
반응형

Spring Boot


스프링부트(Spring Boot)는 스프링 프레임워크 기반 어플리케션(Data, Batch, Integration, Web, JDBC, Security 등)을 사용자가 더 빠르고 쉽게 개발 할 수 있게 해주는 오픈소스 프로젝트이다.

  • 단독 실행이 가능한 수준의 스프링 어플리케이션 제적이 가능
  • 내장된 Tomcat, Jetty, UnderTow 등의 서버를 이용해서 별도의 서버를 설치하지 않고 실행이 가능
  • 최대한 자동화된 설정을 제공
  • XML 설정 없이 단순한 설정 방식을 제공

(https://spring.io/tools3/sts/all)

IntelliJ IDE


인텔리제이(IntelliJ)는 JetBrain사에서 개발한 자바 IDE이다. 기존의 이클립스(Eclipse) IDE 보다 가볍고 여러 면에서 월등하다고 평가받고 있는 IDE이며, 유료 구독 버전인 Ultimate 버전과 무료 버전인 Community 버전을 사용할 수 있다.
(https://www.jetbrains.com/idea/)


 

개발환경

  • Windows 10
  • IntelliJ IDEA Version 2019.1
  • jdk 1.8
  • Spring Boot 2.1.1 RELEASE
  • Maven

 


 

 

IntelliJ를 통한 스프링부트 프로젝트 만들기


공부용이기에 학교 이메일로 Ultimate 버전을 1년간 무료로 사용한다.

인텔리제이를 설치 후 실행하면 아래 화면이 뜬다. Create New Project를 클릭하자. (혹은 Tool바의 File > New > Projcet)


Maven을 클릭한다. Project SDK는 jdk1.8을 사용한다.



Maven 프로젝트의 그룹명과 아티팩트명을 작성한다.


프로젝트명을 작성한다.


다음과 같이 Maven 프로젝트가 만들어 졌다.


Maven 프로젝트의 pom.xml에 다음과 같은(스프링 부트를 가동 할 수 있는) 의존성을 추가한다.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.tutorial</groupId>
    <artifactId>springboot-tutorial</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

 


다음과 같이 프로젝트 구조를 만든다.

com.tutorial.springboot 패키지 밑에 Application.java


Application.java의 코드는 다음과 같다.


@SpringBootApplication 클래스의 적정 위치는 default pakage(위에서는 com.tutorial.springboot)에 위치하는 것이 좋다.
@SpringBootApplication 어노테이션의 소스에 붙어있는 @ComponentScan 어노테이션은 해당 클래스 기준으로 현 위치와 그 아래 위치까지 스프링 빈을 나타내는 어노테이션이 붙은 클래스를 찾기 때문이다.

아래와 같이 Application.java 우클릭하여 Run 'Application'을 클릭한다.


다음과 같이 콘솔창에서 실행되는 것을 확인 할 수 있다.


만약 8080포트 사용중으로 에러가 난다면 cmd 창을 켜서

> netstat -nao | findstr 8080

로 pid를 확인한후

> taskkill /f /pid [pid번호]

로 종료한다.

크롬 브라우저에서 http://localhost:8080/ 으로 접속하면 아래와같은 에러 페이지가 뜬다.
index.html 파일을 생성하지 않았으니 당연하다.


src/main/resource/static 밑에 index.html 파일을 추가해준다.


다시 localhost:8080으로 접속하면 index.html을 잘 불러 오는 것을 볼 수 있다.




스프링 부트는 maven을 통해 빌드하면 jar 파일 하나가 생성된다.이 jar파일을 실행시키면 스프링 부트가 위와 같이 실행되는 것을 볼 수 있다.
단순히 스프링 프레임워크만을 써서 개발을 했을 경우에는 톰캣(Tomcat)과 연동하여 war 파일을 만들어서 실행해야 했지만, 스프링부트는 스프링부트 안에 자체적으로 톰캣이 내장되어 있어 그럴 필요 없이 바로 jar 파일 하나만 실행하면 웹 어플리케이션을 가동 할 수 있다.


프로젝트 밑에 target에서 maven 명령어를 쳐서 패키징을 하면 빌드 및 패키지가 자동적으로 실행된다.


생성된 스프링 부트 jar 파일을 실행하면 스프링 부트가 실행되는 것을 볼 수 있다.





[Reference]
https://steps-for-developer.tistory.com/entry/Intellij%EB%A1%9C-SpringBoot-%EA%B2%8C%EC%8B%9C%ED%8C%90-%EB%A7%8C%EB%93%A4%EA%B8%B0-1

 

Intellij로 SpringBoot 게시판 만들기 1 - spring initializr와 gradle로 프로젝트 생성

개발 환경 : JAVA : jdk 1.8 개발툴 : intellij IDE Community version 2018.03 에디터 : vscode spring boot 2.1.0.RELEASE 스프링 부트는 스프링의 여러 기술들(Data, Batch, Integration, Web, JDBC, Secu..

steps-for-developer.tistory.com

https://jaystevency.tistory.com/19

 

[SpringBoot] #1 IntelliJ 에서 spring boot 시작하기

Spring Boot Project 개발 환경 Dev OS : Mac Sierra 10.12.3 IDE : IntelliJ IDEA 2016.2.4 Build #IU-162.2032.8, built on September 9, 2016 java : jdk 1.8 본 게시글은 박재성님의 spring-boot, JPA 질문/..

jaystevency.tistory.com

https://engkimbs.tistory.com/748

 

[Spring Boot #1] 인텔리제이(IntelliJ)로 스프링 부트 프로젝트 시작하기

| 스프링 부트(Spring Boot)란? 스프링 부트(Spring Boot)는 스프링 프레임워크 기반 어플리케이션을 더 빠르고 쉽게 개발할 수 있게 해주는 오픈소스 프로젝트입니다. 스프링 프레임워크만으로 개발��

engkimbs.tistory.com



728x90
반응형

댓글