ToBe끝판왕

[ InteliJ ] 인텔리제이 SpringBoot + Gradle 프로젝트 생성 본문

■ 프로그래밍 SKILLS/IDE

[ InteliJ ] 인텔리제이 SpringBoot + Gradle 프로젝트 생성

업그레이드중 2024. 4. 28. 16:28
반응형

 

 

 


 

 

 

 

기본 환경 설정

 

▶  아래의 버전을 활용하여 진행

•  JDK 1.7
•  Apache Tomcat 9.0.88
•  SpringBoot 3.2.5

※ 프로젝트 파일 내, 위의 3개를 다운받고 압축을 해제해준다.

 

 

 

InteliJ 신규 프로젝트 생성

 

1) New Project 를 클릭하여 신규 프로젝트 생성

 

2) 좌측의  Spring initializr 클릭

 

3) 프로젝트 생성 세부설정

•  Name : 프로젝트이름
•  Location : 프로젝트 저장경로

•  Type : Gradle  
•  Group :  프로젝트 그룹
•  Artifact : 프로젝트 식별자
•  package name :  패키지 이름은 클래스나 파일이 속하는 패키지 ( 상단에 선언됨 )
•  JDK & JAVA : 동일한 버전으로 선택, Java17 이상은 SpringBoot 3.x 버전 이상
•  packaging : war or jar

 

•   Spring Boot는 내장 서버를 지원기에 Packaging을 Jar로 설정하게되면 Application을 독립적으로 실행할 수 있어 

     배포 및 유지 보수 과정을 간소화하 할 수 있다.

 

 

 

 

 

4) 프로젝트 Dependencies 선택 화면

•  좌측 상단에서 현재 Spring Boot 버전 확인 가능

•  Spring Web 과 Spring Web Services 선택 ( 최소한의 항목만 선택 )

•  우측 상단에서 선택한 Dependency가 어떠한 기능을 제공하는지 알 수 있다.

•  우측 하단에서 현재 더한 Depencencies를 재확인 가능

 

 

 

※ Spring Web
•  Spring MVC와 같은 웹 애플리케이션을 개발하는 데 필요한 기본적인 기능을 제공
•  RESTful 웹 서비스를 구축하거나 웹 애플리케이션을 개발할 때 필요한 기능을 제공
•  주요 기능으로는 HTTP 요청 및 응답 처리, 컨트롤러 및 핸들러의 작성 제공
•  MVC (Model-View-Controller) 아키텍처 지원 기능 제공
•  주로 Web Application의 BackEnd 개발에 사용

 

※ Spring Web Services
•  Spring Web Services는 SOAP (Simple Object Access Protocol) 웹 서비스를 개발하는 데 사용
•  주로 기업 간 시스템 통합이나 비즈니스 프로세스 간 통신을 위해 사용
•  SOAP 메시지 처리, 웹 서비스 엔드포인트 구현, WSDL (Web Services Description Language) 작성
   및 웹 서비스 클라이언트 생성 등의 기능을 제공
•  주로 XML 기반의 Web Service 개발에 사용

 

 

 

5) 프로젝트 생성이 완료된 후, 화면

•  하단의 BUILD SUCCESSFUL 확인

 

 

 

 

 

6) Tomcat 실행 및 확인

•  좌측, Application.java 파일을 열어서 main 메서드 확인

•  우측 상단의 Application을 Run 해준다.

 

Gradle은 윈도우 환경에서 사용자 계정 폴더에 한글이 있으면 정상적으로 작동하지 않습니다.

※  포트번호 8080을 사용하고 있다면 application.properties 파일로 가서 server.port=8081과 같이 포트번호가

     중복되지 않게 설정 후, 재실행

 

 

 

 

•  아래와 같은 페이지가 나온다면, 정상적으로 SpringBoot에서 Tomcat이 실행된 것이다.

 

 

 

 

 


 

 

Gradle 설정

 

 

※ build.gradle 파일

•  프로젝트 설정 ( 프로젝트 이름, 버전, 그룹등의 정보 지정 )
•  의존성 관리 ( 필요로 하는 외부 라이브러리, 모듈의 종속성 정의 )
•  플러그인 설정 ( 플러그인 사용하여 빌드 프로세스 확장 및 다양한 작업 자동화 )
•  빌드 구성 ( 컴파일, 테스트, 패키징, 배포 등 빌드 프로세스 정의 )

 

 

1) build.gradle 설정

•  SpringBoot 로 JSP 컴파일을 위한 의존성 주입

 

 

 

•  build.gradle 전체 소스

plugins {
    id 'java'
    id 'war'
    id 'org.springframework.boot' version '3.2.5'
    id 'io.spring.dependency-management' version '1.1.4'
}

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

java {
    sourceCompatibility = '17'
}

repositories {
    mavenCentral()
}

dependencies {
    // SpringBoot 프로젝트 생성시, SpringWeb , Spring Web Serbvices 선택시 생기는 Dependencies
    // Spring Boot를 시작하기 위한 핵심 의존성 집합ㅜ
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-web-services'
    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'

    // Tomcat Jasper 의존성 주입 ( JSP파일을 servlet 코드로 변환하여 컴파일 하고 실행하는데 사용 )
    implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'

    // JSTL 표준 태그 라이브러리 활성화를 위한 의존성 주입 ( SpringBoot 버전 3.0x 이상 )
    implementation 'jakarta.servlet:jakarta.servlet-api'
    implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api'
    implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl'
}

tasks.named('test') {
    useJUnitPlatform()
}

 

 

 

※ JSTL 사용을 위하여 아래의 소스로 의존성 주입시 에러 발생

•  아래 의존성 주입방식은 SpringBoot 2.0x 버전만 가능

implementation 'javax.servlet:jstl'

 

 

 

 

※ application.properties 파일

•  환경 설정 ( 개발 환경, 테스트 환경, 운영 환경에 따른 데이터베이스 연결정보나 Logging레벨 설정 )
•  속성 정의 ( 데이터베이스 연결정보, 서버 port, 보안 설정 등의 속성 정의 )
•  플러그인 설정 ( 플러그인 사용하여 빌드 프로세스 확장 및 다양한 작업 자동화 )

 

 

2) application.properties 설정

•  Tomcat  Port 번호 설정

•  View Resolver 설정

 

 

•  application.properties 전체 소스

spring.application.name=SpringBoot

# Tomcat 서버 Port 설정
server.port=8484

# JSP 파일 접근을 View Resolver 설정
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

 

 

 

 


 

 

MVC 패턴 파일 구성 및 테스트

 

 

 

1) Controller 샘플 생성

•  controller 패키지 생성

•  HomeController.java 파일 생성

 

 

 

•  Controller 전체 소스

 

package com.example.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HomeController {

    @GetMapping("/home")
    public ModelAndView Home() throws Exception {

        ModelAndView mv = new ModelAndView();

        mv.setViewName("home");

        return mv;
    }
}

 

 

 

2) views ( JSP파일 ) 샘플 생성

•  [ webapp] , [ views ] 디렉터리 구조 생성

•  테스트를 위한 home.jsp 파일 생성

 

 

 

 

3) Tomcat 구동 및 확인

•  Tomcat 실행하고, URL 에 /home 을 붙여주어 home.jsp 내용이 나오는지 확인

•  home.jsp 에서 작성했던 Spring Boot MVC 연결 성공 !! 문구가 나오는것을 확인할 수 있다.

 

 

 

 

InteliJ 의 기본적인 SpringBoot 프로젝트 생성 완성 !!!










반응형
Comments