[JDBC (4) ] build.gradel 파일 설정

Yeonbi_Kim·2024년 7월 20일
post-thumbnail

build.gradle 파일 설정

  • 내용 : Gradle 빌드 스크립트(build.gradle)에 MySQL Connector와 Lombok 라이브러리를 추가하는 방법을 보여준다.

  • 주요개념 :
    1) dependencies : 프로젝트에 필요한 라이브러리들을 정의하는 부분.
    유의점) 라이브러리 버전을 정확하게 지정해야 하며, 종속성 충돌이 발생하지 않도록 주의
    2) implementation : 컴파일과 런타임에 필요한 라이브러리.

컴파일(Compile)이란?
컴파일은 고수준 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 실행할 수 있는 기계어 코드로 변환하는 과정입니다. 이 과정은 컴파일러라는 소프트웨어가 수행합니다.
-컴파일 과정:
1.소스코드작성 : 개발자가 작성한 자바 등의 고수준 프로그래밍 언어 코드.
2.컴파일러 실행 : 소스 코드를 기계어 코드(바이너리코드)로 변환.
3.목적파일 생성 : 컴파일된 코드가 목적 파일(object file)로 저장됨.
4.링크(Link) : 여러 목적 파일들을 결합하여 실행 가능한 프로그램을 생성.
자바의 경우, javac 컴파일러를 사용하여 .java파일을 컴파일하면 .class파일이 생성된다. .class파일은 자바 가상 머신(JVM)에서 실행된다.

bash

javac MyProgram.java #MyProgram.java를 컴파일하여 MyProgram.class생성
java MyProgram

3) compileOnly : 컴파일 시에만 필요한 라이브러리.

라이브러리(Library)란?
라이브러리는 특정 기능을 수행하기 위해 재사용 가능한 코드의 집합이다.
라이브러리는 함수, 클래스, 메서드 등으로 구성되며, 개발자가 필요할 때 사용할 수 있다.
<라이브러리의 종류>
1.표준 라이브러리 : 프로그래밍 언어와 함께 제공되는 기본 라이브러라. 예를 들어. 자바의 java.util패키지.
2.서드 파티 라이브러리 : 외부 개발자가 만들어 제공하는 라이브러리. 예를 들어, Apache Commons, Google Guava
3.프레임워크 : 특정 애플리케이션 개발을 위한 구조와 라이브러리의 집합. 예를 들어, Spring, Hibernate

<자바에서 ArrayList 사용 예시 :>- 라이브러리 사용 예시.

java

import java.util.ArrayList;

public class Main {
   public static void main(String[] args) {
       ArrayList<String> list = new ArrayList<>();
       list.add("Apple");
       list.add("Banana");
       System.out.println(list);
   }
}

4) annotationProcessor : 어노테이션 프로세싱에 필요한 라이브러리.
5) testImplemention : 테스트 시에 필요한 라이브러리.

프로젝트 설정

  • 내용:IntelliJ IDEA에서 Gradle 프로젝트의 설정을 동기화하고, 어노테이션 프로세싱을 활성화하는 방법을 설명한다.
  • 주요 개념 :
    1) Sync 실행 : build.gradle 파일 수정 후 종속성을 동기화하여 프로젝트에 반영하는 과정.
    2) Annotation Processing 활성화 : Lombok 등 어노테니션 프로세서를 사용하기 위해 IntelliJ 설정에서 어노테이션 프로세싱을 활성화하는 과정.

IntelliJ IDEA에서 설정하는 과정

1.프로젝트 열기

  • IntelliJ 실행하고 프로젝트를 연다.
    2.build.gradle 파일 수정
  • build.gradle 파일을 열고 필요한 라이브러리를 추가한다.
gradle

dependencies {
    implementation 'com.mysql:mysql-connector-j:8.033'
    compileOnly 'org.projectlombok:lombok:1.18.30'
    annotationProcessor 'org.projectlombok:lombok:1.18.30'
    testCompileOnly 'org.projectlombok:lombok:1.18.30'
    testAnnotationProcessor 'org.projectlombok:1.18.30'
    testImplementation platform('org.junit:junit-bom:5.9.1')
    testImplementation 'org.junit.jupiter:junit-jupiter'
}

3.종속성 동기화

  • Gradle Tool Window에서 상단의 Refresh 버튼을 클릭하여 build.gradle파일의 변경 사항을 반영합니다.

4.Annotation Processing 활성화

  • File > Settings (macOS에서는 IntelliJ IDEA > Preferences)를 선택합니다.
  • Build, Execution, Deployment > Compiler > Annotation Processors로 이동합니다.
  • Enable annotation processing을 체크하여 활성화합니다.
    유의점) 어노테이션 프로세싱을 활성화하지 않으면 Lombok 등의 라이브러리가 정상적으로 작동하지 않을 수 있습니다.

왜 사용하는가?

- 의존성 관리 : gradle을 사용하면 프로젝트의 의존성을 쉽게 관리 가능.
- 빌드 자동화 : 빌드 과정의 자동화를 통해 개발 효율성을 높인다.
- Annotation Processing : Lombok 등의 라이브러리를 사용하여 보일러플레이트 코드를 줄이고 생산성을 높인다.

논리적 과정

1. 프로젝트 생성 : build.gradle파일에 필요한 라이브러리를 정의한다.
2. 종속성 동기화 : build.gradle파일의 변경 사항을 반영하여 필요한 라이브러리를 다운로드하고 프로젝트에 추가한다.
3. 어노테니션 프로세싱 활성화 : Lombok등의 어노테이션 프로세서를 사용하기 위해 설정을 활성화한다.

장점

- 자동화된 의존성 관리 : Gradle을 사용하면 의존성을 자동으로 관리할 수 있어 개발자가 일일이 라이브러리를 다운로드하고 추가할 필요하가 없다.
- 편리한 빌드 프로세스 : 빌드 스크립트를 통해 빌드 과정을 자동화하고, 필요한 작업을 반복적으로 수행할 수 있다.
- 생산성 향상 : lombok과 같은 도구를 사용하면 반복적인 코드를 줄이고 생산성을 높일 수 있다.

단점

- 초기 설정의 복잡성 : Gradle설정 및 어노테니션 프로세싱 활성화 등의 초기 설정이 복잡할 수 있다.
- 의존성 충돌 : 다양한 라이브러리를 사용할 경우 의존성 충돌이 발생할 수 있으며, 이를 해결하는데 시간이 소요될 수 있다.
- 빌드 속도 : 프로젝트가 커지면 빌드 속도가 느려질 수 있다.

0개의 댓글