티스토리 뷰

# 준비

- Visual Studio Code : 개발에 사용할 IDE. IDE는 본인에게 편한 게 가장 좋다고 생각합니다.

- Gradle 설치 : https://zetawiki.com/wiki/%EC%9C%88%EB%8F%84%EC%9A%B0_gradle_%EC%84%A4%EC%B9%98

 

윈도우 gradle 설치 - 제타위키

윈도우 gradle 설치 윈도우 그래들 설치 1 사전 작업[편집] C:\Users\zetawiki>java -version java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b15, mixed mode) 2 다운로드, 압축해제, 이동[편집] https://gradle.org/gradle

zetawiki.com

- Jdk 설치 : https://zetawiki.com/wiki/%EC%9C%88%EB%8F%84%EC%9A%B0_OpenJDK_11_%EC%84%A4%EC%B9%98

 

윈도우 OpenJDK 11 설치 - 제타위키

다음 문자열 포함...

zetawiki.com

 

- VS Code에서 단축키 ( Ctrl + Shift + X )로 확장 프로그램 마켓 플레이스를 연 뒤 Java Extension Pack을 설치합니다.

- VS Code에서 단축키 ( Ctrl + , )로 Settings에 진입하고 'Edit in setting.json'를 검색하여 연 뒤 아래처럼 입력합니다.  

{
  "java.home": "C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1"
}

  경로는 위에서 설치했던 jdk의 경로입니다.

  (필수는 아니지만 개인 설정에 따라 하지 않을 경우 에러가 나는 경우도 있어서 하는 게 좋습니다.  경로의 '\'를 '/'로)


# SpringBoot 설치 

VSCode를 실행한 뒤 View -> Command Palette (Ctrl + Shift + P)를 실행하고 아래와 같이 선택해서 진행.

Spring Initializr: Generate a Gradle Project

   ↓

  java

   ↓

  com.graphql

   ↓

  blog

   ↓

  2.1.7

   ↓

아래의 의존성을 모두 선택합니다.

-Spring Boot DevTools

-Spring Web Starter 

-Spring Security

-Spring Data Jpa

-Lombok

   ↓

탐색기에서 프로젝트를 생성할 경로로 이동하여 MyBlog 디렉토리

생성한 뒤 Generate

   ↓

생성한 Spring 프로젝트 경로로 이동 후 VScode 실행


# 사전 작업

src/main/resources/application.properties 파일을 열고 아래와 같이 수정합니다.

#Server Configuration
server.port=8000

spring.main.banner-mode=off

/build.gradle 파일을 열어보면 아래와 같을 겁니다. 아래와 같이 jpa 부분을 주석 처리해줍니다.

//implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
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'
testImplementation 'org.springframework.security:spring-security-test'

# Config 파일 생성

com/graphql/blog에 config 디렉토리를 생성한 후 아래 2개의 파일을 생성합니다.

WebMvcConfig.java

package com.graphql.blog.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {

    // Cors 정책을 모두 허용으로 설정
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**");
    }
}

WebSecurityConfig.java

로그인 기능을 구현하기 전까지 Security 설정은 모든 요청에 대해 허용하도록 설정.

package com.graphql.blog.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/**").permitAll()
                .anyRequest().authenticated()
                .and()
                .httpBasic();
        http.cors().and();
        http.csrf().disable();
    }
}

# 실행

터미널을 연 뒤 ( Ctrl + ` ) 아래 명령어를 입력합니다.

$ gradle bootRun

그 후 http://localhost:8000으로 접속했을 때 404 에러 페이지가 뜨면 정상입니다.


# 마치며

이상으로 Spring Boot 설치를 완료하였습니다.

다음 포스팅에서는 PostgreSQL를 생성하고 이번에 생성했던 SpringBoot에 연동해보겠습니다.


# GitHub

https://github.com/eonnine/MyBlog

 

eonnine/MyBlog

Spring Boot, Graphql, PostgreSQL, React-Apollo, Parcel - eonnine/MyBlog

github.com

 

'프로젝트 > 나만의 블로그' 카테고리의 다른 글

React & Parcel 개발 환경 구성 [FE]  (0) 2019.08.24
Spring Boot & GraphQL (2) [BE]  (2) 2019.08.18
Spring Boot & GraphQL (1) [BE]  (0) 2019.08.18
Spring Boot & PostgreSQL [BE]  (0) 2019.08.18
[나만의 블로그]시작  (0) 2019.08.16
댓글