프로그래밍/Java

[스프링 부트] 게시판 만들기 1 - IntelliJ + SpringBoot + Gradle 프로젝트 생성

소행성왕자 2020. 4. 22. 16:08

많은 프로젝트를 php 사용하다 이번에 java spring boot 를 사용해보려 합니다.

가장 기본적인 게시판 만들기중 첫번째 환경구성 하는부분을 알아보도록 하겠습니다.

 

개발환경

- Mac OS X
- IntelliJ IDEA Ultimate
- SpringBoot 2.2.6
- Java8
- Gradle

 

 

Spring Boot 프로젝트 생성

 

아래와 같이 체크해줍니다.

나중에 build.gradle 에서 JPA 와 Mysql Driver 설치하니 지금은 아래와 같이만 하면 됩니다.

 

  • Spring Boot DevTools
  • Lombok
  • Spring Web
  • Thymeleaf

 

Use auto-import 를 체크해줍니다.

 

기본 프로젝트 생성이 완료되었습니다.

Project 구조는 아래와 같습니다.

실제 Java 코드가 들어갈 부분은 src/main/java/com/example/springboottest 입니다.

 

build.gradle 내용입니다.

처음 프로젝트 셋팅시 체크 했던 부분들 (lombok, spring boot web, thymeleaf) 포함되어 있습니다.

plugins {
    id 'org.springframework.boot' version '2.2.6.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

configurations {
    developmentOnly
    runtimeClasspath {
        extendsFrom developmentOnly
    }
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}

 

 

현재 상태에서 spring boot 실행해볼까요?

우측 상단 클릭해봅시다.

 

하단에 보시면 Tomcat started on port(s): 8080 보이시나요?

Tomcat 이 구동되었습니다.

 

웹브라우져에서 localhost:8080 접속해 보아요

아래와 같은 화면이 보일거에요.

현재는 아무것도 한게 없으니 에러페이지가 보인겁니다.

 

이슈

에러 발생하면서 localhost:8080 접속이 안될때

gradle 에 추가

    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-web-services'
    implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'mysql:mysql-connector-java'
    annotationProcessor 'org.projectlombok:lombok'
    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    ... 아래 추가
    implementation 'com.h2database:h2'