BACKEND/JAVA & SPRING

[J2KB] 프로젝트 환경설정

이-프 2023. 2. 3. 16:38

** 인프런 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 강의를 기반으로 작성합니다. 

 

프로젝트 설정

  • Java 11 설치
  • IDE : IntelliJ 

최근 개발자들 사이에서는 Eclipse보다 IntelliJ를 자주 사용하는 추세이기 때문에 가급적 IntelliJ를 사용하길 권한다.

 

Maven - Gradle 차이

Maven과 Gradle 모두 빌드관리도구이다.

최근에는 Maven보다 Gradle로 많이 넘어온 상황

(= Gradle이 최근이기 때문에 성능, 사용성 면에서 훨씬 뛰어남)

 

 

환경 설정

https://start.spring.io/  

최근 spring 프로젝트는 위 사이트에서 설정을 한 뒤 생성한다. 

하지만, IntelliJ에서도 File > New > Project > Spring Initializr 로도 생성이 가능하다.

spring initializr로 직접 만들어 파일을 다운 받은 뒤, 이를 압축해제하여 open할 번거로움을 덜 수 있을 뿐만 아니라 

빌드에러 이슈도 훨씬적었기 때문에 IntelliJ에서 직접 다운 받는 것을 추천한다. 

 

 

 

  • Project - Gradle-Groovy
  • Spring Boot 버전은 SNAPSHOT을 제외한 버전으로 선택
  • Group - 주로 기업 도메인 명
  • Dependencies - web개발을 위해 Spring Web & Thymeleaf 라이브러리르 추가

 

 

프로젝트 기본 구조

 

src - main - test 구조화 

  • src/main/java : .java 자바 파일들이 모여있는 공간 (= 자바 클래스를 생성 및 run)
  • src/main/resources : 실제 자바 코드 파일을 제외환 설정파일들이 여기에 포함이 됨
  • src/test : test code들과 관련된 source 집합 -> 요즘 개발 트렌드에서는 test 코드가 굉장히 중요

 

 

 

 

build.gradle 

요즘 spring boot가 나오면서 개발자 친화적으로 변경됨 -> 설정파일들이 제공이 됨 

처음 프로젝트 설정시, 다운 받았던 spring-web과 thymeleaf 라이브러리가 추가되어있으며, 

이 라이브러리들을 다운 받는 repo가 mavenCentral이란 공개사이트이다. 

 

 

 

 

기본 코드 설명 

src/main/java/com.example/hellospirng/HelloSpringApplication

@SpringBootApplication
public class HelloSpringApplication {

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

}

 

main method 실행시, class를 넣어주면 (HelloSpringApplication) annotation이 실행이 된다.

이때, tomcat이란 웹서버를 내장하고 있는데 자체적으로 띄워줌 

 

[기본 class를 run 했을 경우]

tomcat이 웹 서버 8080에 연결이 되었음 

 

 

[localhost:8080로 연결]

[기본 class 중지 시킬 경우]

 

 

주의사항

IntelliJ는 처음 실행 시, 많은 파일들(빌드파일들)을 다운 받아야 하므로 원활한 네트워크 연결이 필수적이다. 

이때, 네트워크가 활성화되었음에도 빌드가 느리다면, 세팅변경을 해준다.

 

setting -> gradle 검색 -> build and run & run using -> intelliJ로 변경

이렇게 해야지 gradle을 안통하고 훨씬 빠르게된다.

'BACKEND > JAVA & SPRING' 카테고리의 다른 글

[J2KB] API  (0) 2023.02.10
[J2KB] MVC와 템플릿 엔진  (1) 2023.02.10
[J2KB] 정적 컨텐츠  (0) 2023.02.10
[J2KB] Spring View 환경설정  (2) 2023.02.03
[J2KB] SPRING 라이브러리  (0) 2023.02.03