
내용 : 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 : 테스트 시에 필요한 라이브러리.
1.프로젝트 열기
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.종속성 동기화
4.Annotation Processing 활성화
- 의존성 관리 : gradle을 사용하면 프로젝트의 의존성을 쉽게 관리 가능.
- 빌드 자동화 : 빌드 과정의 자동화를 통해 개발 효율성을 높인다.
- Annotation Processing : Lombok 등의 라이브러리를 사용하여 보일러플레이트 코드를 줄이고 생산성을 높인다.
1. 프로젝트 생성 : build.gradle파일에 필요한 라이브러리를 정의한다.
2. 종속성 동기화 : build.gradle파일의 변경 사항을 반영하여 필요한 라이브러리를 다운로드하고 프로젝트에 추가한다.
3. 어노테니션 프로세싱 활성화 : Lombok등의 어노테이션 프로세서를 사용하기 위해 설정을 활성화한다.
- 자동화된 의존성 관리 : Gradle을 사용하면 의존성을 자동으로 관리할 수 있어 개발자가 일일이 라이브러리를 다운로드하고 추가할 필요하가 없다.
- 편리한 빌드 프로세스 : 빌드 스크립트를 통해 빌드 과정을 자동화하고, 필요한 작업을 반복적으로 수행할 수 있다.
- 생산성 향상 : lombok과 같은 도구를 사용하면 반복적인 코드를 줄이고 생산성을 높일 수 있다.
- 초기 설정의 복잡성 : Gradle설정 및 어노테니션 프로세싱 활성화 등의 초기 설정이 복잡할 수 있다.
- 의존성 충돌 : 다양한 라이브러리를 사용할 경우 의존성 충돌이 발생할 수 있으며, 이를 해결하는데 시간이 소요될 수 있다.
- 빌드 속도 : 프로젝트가 커지면 빌드 속도가 느려질 수 있다.