본문 바로가기
Spring

Spring 개발환경 세팅 (이클립스, VSCode) / Build, Gradle

by KDW999 2023. 3. 3.

https://start.spring.io/

Project : 생성할 프로젝트의 빌드 자동화 툴 선택

Language : 프로젝트에서 사용할 언어 선택

Spring Boot : 프로젝트의 스프링 부트 버전 선택

 

Group, Artifact, Name, Description : 프로젝트에 관한 정보 

* Artiface에 적은 이름이 Name, Package name에도 같이 적히고 파일 이름이 됨

Package name : Project base Package 이름 지정

Packaging : import / export 시 확장자 지정

Java : JDK 버전 선택

 

Dependencies : 설치 시 사용할 라이브러리 선택 (Spring Web, Spring Data JPA, Lombok 등)

 

다 적어준 후 GENERATE를 누르면 적은대로 세팅된 파일을 다운받음

 

Import

이클립스 실행 → File → import (아무 프로젝트도 없는 상태라면 Import projects)

 

→ Select → Gradle → Existing Gradle Project

 

→ Import Gradle Project → Project root directory → 위에서 다운받고 압축해제한 Project 선택

 

→ Import Options → Override Workspace Settings 체크 → Gradle Wrapper 체크 → Finish

 

이후 src/main/java에 있는 BoardApplication에서 Run해보기

 

VSCode에서 Spring 실행

확장 (Market Place)에서 Spring Boot Extension Pack 설치 [아마 설치하면 Spring Boot Dashboard, Spriing Boot Snippets, Spring Boot Tools, Spring Initializr Java Support이 묶음으로 설치될 것 / 없는 건 따로 확장에서 검색 후 설치]

Gradle for Java 설치

설치 후 폴더 열기로 위에서 만든 혹은 기존에 있던 Spring 폴더 열기 / Github에 있으면 터미널에서 Git Bash로 Pull해서 프로젝트를 가져온 후 사용 / 혹은 F1 눌러서 새 Spring Project 생성

 

 

@SpringBootApplication

ㅡ 해당 어노테이션이 있는 클래스의 패키지는 베이스 패키지로 지정

ㅡ Spring이 해당 베이스 패키지와 그 하위 패키지에서 Spring Bean을 찾아 스프링의 의존성 주입 컨테이너 오브젝트, ApplicationContext에 등록할 수 있도록 하며 스프링은 애플리케이션 실행 중 필요한 오브젝트를 찾아서 의존하는 다른 오브젝트를 연결

ㅡ 자동으로 다른 오브젝트를 찾아주는 과정은 @Autowired 어노테이션이 수행

ㅡ @Component 어노테이션으로 Spring Bean 등록

 

Spring Bean : Spring IoC 컨테이너가 관리하는 자바 객체 (ApplicationContext에 의해 만들어지고 관리되는 객체)

 

@Component

ㅡ Spring에게 해당 클래스를 Spring Bean으로 등록 시키도록 알려주는 어노테이션

 

@Component만으론 Spring이 모든  클래스를 검색해서 Spring Bean으로 등록을 못하기에 @ComponentScan 어노테이션이 특정 클래스에 있어야만 컴포넌트를 스캐닝 가능

 

@ComponentScan이 포함된 @SpringBootApplication이 메인 메서드가 포함된 Class에 선언되어 있기에 하위이 있는 모든 패키지에서 @Component 어노테이션이 Spring Bean을 검색해서 등록

 

@Bean

ㅡ @Component를 사용하지 못하거나 사용하는 것을 원치 않을 때, 해당 클래스를 Spring Bean으로 등록

ㅡ @Autowired를 사용하지 않을 때, Spring 기반이 아닌 라이브러리르 사용할 때

 

Build / Gradle

Build.Gradle 파일

 

Build : 소스 코드를 컴퓨터나 휴대폰에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정 혹은 그 결과물

Build 자동화 툴 사용 이유 : 라이브러리를 사용하기 위해 .jar파일을 받아 설치하는 작업을 제거 / 개발자가 모든 라이브러리를 컴파일해 빌드하고 테스트하는 과정을 대신 해줌

 

Gradle : Java, Groovy, Scala 등 JVM에서 실행되는 언어의 빌드 자동화를 위해 사용되는 빌드 자동화 툴

ㅡ Gradle은 의도적으로 많은 기능을 제공하지 않으며 플러그 인을 통해 Gradle을 확장

 

ㅡㅡㅡㅡㅡㅡ

Lombok : 어노테이션으로 컴파일 시 도움을 주는 라이브러리 / 따로 다운로드

Repository : Gradle이 라이브러리를 다운로드 받는 경로

Dependency : 현재 프로젝트에서 사용할 라이브러리 명시 / dependencies에 있는 데이터를 Gradle이 확인 후 다운

Test : 단위 테스트 플랫폼 지정

 

Dependency Library 추가 : https://mvnrepository.com/

 

'Spring' 카테고리의 다른 글

JPA  (0) 2023.03.06
Service  (0) 2023.03.06
Controller / DTO  (0) 2023.03.05
DI & IoC  (0) 2023.03.03
Spring 프레임워크  (0) 2023.02.28

댓글