[Spring Boot] 환경세팅

hameee·2023년 12월 12일
0

Spring Boot

목록 보기
3/20
post-thumbnail

📍 프로그램 설치

  • STS
  • JDK

1) STS

STS(Spring Tool Suite)

  • 스프링 기반 애플리케이션을 개발하기 위한 IDE 중 하나이다.
  • Eclipse IDE를 기반으로 구축되었다.

👉 Window & macOS

  • Window: spring-tool-suite-4-4.21.0.RELEASE-e4.30.0-win32.win32.x86_64.self-extracting.jar 파일 다운로드 -> 프로젝트 폴더로 이동 -> 더블 클릭 -> 압축 해제
  • macOS: spring-tool-suite-4-4.21.0.RELEASE-e4.30.0-macosx.cocoa.aarch64 파일 다운로드 -> 프로젝트 폴더로 이동 -> 더블 클릭 -> SpringToolSuite4.app을 프로젝트 폴더로 이동

2) JDK

  • 🚩 SpringBoot 3.x 버전에선 자바 17 버전 이상이어야 한다.
  • JDK 다운로드
  • (Window일 경우) 환경 변수 설정

해당 포스팅JDK 설치환경 변수 설정을 참고한다.

📍 STS 초기 세팅

  • JSP를 위한 플러그인 설치
  • 글자 인코딩 설정

1) JSP를 위한 플러그인 설치

  • STS에서 JSP를 더 편리하게 사용하기 위한 과정이다.
  • Help > Eclipse Marketplace 클릭
  • Eclipse Marketplace창: Eclipse Enterprise Java and Web Developer Tools 3.31(톱니 바퀴 아이콘, 하단의 jsp 확인) install 버튼 클릭
  • Confirm Selected Features창: Confirm 버튼 클릭
  • Review Licenses 창: I accept the terms of the license agreements 체크 > Finish 버튼 클릭
  • 프로그래스 바 기다리기
  • Trust Artifacts 창: PGP 2개 모두 체크 > Trust Selected 버튼 클릭
  • Software Updates 창: Restart Now 버튼 클릭

Window는 Window > Preferences, macOS는 SpringToolSuite4 > Settings 에 Web 메뉴가 있다면 제대로 설치된 것이다.

2) 글자 인코딩 설정

  • 한글 깨짐을 방지하기 위해 Encoding을 UTF-8로 설정하는 작업이다.
  • Window는 Window > Preferences, macOS는 SpringToolSuite4 > Settings 클릭
  • General > Workspace > 좌측 하단 Text file encoding 중 Other 선택 > UTF-8 선택
  • Web > CSS Files > Encoding ISO 10646/Unicode(UTF-8) 선택
  • Web > HTML Files > Encoding ISO 10646/Unicode(UTF-8) 선택
  • Web > JSP Files > Encoding ISO 10646/Unicode(UTF-8) 선택

📍 프로젝트 만들기

  • 프로젝트 기본 설정
  • Dependencies 설정

1) 프로젝트 기본 설정

  • File > New > Spring Starter Project 클릭
  • New Spring Starter Project 창: Name, Type, Group, Package 등 설정 > Next 버튼 클릭

2) Dependencies 설정

  • 프로젝트 생성 이후 Lombok과 Spring Data JPA 설치 방법은 연결된 링크를 참고한다. 물론 이 단계에서 체크한다면 이후 따로 설치할 필요는 없다.
  • New Spring Starter Project Dependencies 창
  • Developer Tools 메뉴: Spring Boot DevTools, Spring Configuration Processor, Lombok 체크
  • SQL 메뉴: MyBatis Framework, MySQL Driver, Spring Data JPA 체크
  • Web 메뉴: Spring Web 체크
  • Finish 버튼 클릭

build.gradle 파일에서 dependencies를 확인할 수 있다.

👉 프로젝트명Application.java 파일

  • 메인 애플리케이션 클래스이다.
  • main 메소드를 포함하고 있어, Spring Boot 애플리케이션의 시작점이 된다.

👉 베이스 패키지

  • 프로젝트의 패키지 구조에서 가장 상위에 위치하는 패키지이다.
  • 일반적으로 메인 애플리케이션 클래스(프로젝트명Application.java)가 위치한 패키지를 베이스 패키지로 사용한다.
  • 애플리케이션 클래스(프로젝트명Application.java)의 1번째 줄에 작성된 패키지 명으로 베이스 패키지를 확인할 수 있다.
  • 만약 베이스 패키지 외부에 클래스를 두면 Spring Boot가 스캔하여 해당 클래스를 자동으로 Spring 빈으로 등록하지 못하므로 주의한다.

    ex. src/main/java/com/example/프로젝트명Application.java인 경우, com.example이 베이스 패키지이다.

👉 포트번호 변경하기(http://localhost:포트번호/매핑된주소)

  • application.properties 파일에 작성하는 방법
    • src/main/resources/application.properties 파일에 아래 코드 작성 후 저장
    server.port=포트번호
  • application.yml 파일에 작성하는 방법
    • src/main/resources/application.yml 파일에 아래 코드 작성 후 저장
    server:
    	port: 포트번호

👉 주요 폴더

  • src/main/java: Java 소스 코드 파일
  • src/main/resouces: 설정 파일/리소스 파일(MyBatis의 XML 매퍼 파일, 데이터베이스 연결 정보, 로깅 설정 등)
  • src/main/webapp: JSP, HTML 파일(webapp 폴더는 view 연동 시 직접 생성해야 함)

📍 Error 해결하기

  • DataSource 관련 에러
  • 디버그 관련 에러

1) DataSource 관련 에러

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

  • 해석: 데이터 소스를 구성하지 못했습니다. 'url' 속성이 지정되지 않았으며 포함된 데이터 소스를 구성할 수 없습니다.
  • 원인: DB 연동 전이므로 나타나는 에러이다.
  • 해결: DataSourceAutoConfiguration.class는 제외하고 자동 구성을 활성화하겠다는 어노테이션(@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}))을 작성한다.
  • 프로젝트명Application.java 파일
  • 클래스명 위에 @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) 어노테이션 작성
// 🟢 src/main/java/com/example/SpringExampleApplication.java
// 위의 경로에서 com/example는 베이스 패키지, SpringExample은 프로젝트명이다.

package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) // ⭐️
@SpringBootApplication
public class SpringExampleApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringExampleApplication.class, args);
	}

}

2) 디버그 관련 에러

  • Spring Boot 애플리케이션 실행 시, 디버그 모드로 실행하도록 하는 옵션(--debug)을 설정한다.
  • 디버그 모드로 실행하는 아이콘이 존재하지만, 추후 디버그 관련 에러가 발생하는 경우가 있어 해당 옵션을 초기에 설정해두는 것이 좋다.
  • 한 번이라도 실행하지 않았다면, Run Configurations 창의 탭이 활성화되지 않을 수 있다.
  • Package Explorer 탭에서 프로젝트 우측 클릭
  • Run As > Run Configurations 클릭
  • Arguments 탭 > Program Arguments > --debug 작성
  • Apply 버튼 클릭 > Close 버튼 클릭

📍 완료 후 체크 사항

  • @Controller + @ResponseBody + return String 메서드에 요청 시, HTML로 응답하는가?
  • @Controller + @ResponseBody + return 객체 메서드에 요청 시, JSON로 응답하는가?

0개의 댓글