< Gson >
- Google에서 개발한 Java 라이브러리로, Java 객체와 JSON(JavaScript Object Notation) 간의 변환을 쉽게 할 수 있도록 한다
- Gson을 사용하면 Java 객체를 JSON 문자열로 직렬화(Serialization)하고, JSON 문자열을 Java 객체로 역직렬화(Deserialization)하는 작업을 간단하게 수행할 수 있다
< Maven >
- Apache Software Foundation에서 개발한 자바 프로젝트 관리 자동화 툴
- Maven은 Spring 프로젝트에 국한되지 않고 모든 종류의 자바 프로젝트에 사용될 수 있는 범용적인 도구로 설계되었다
- Java를 사용하는 모든 프로젝트에서의 빌드, 의존성 관리, 문서화를 간소화하고 표준화하는 데 초점을 맞추고 있기 때문에 Maven은 다양한 자바 프로젝트에서 유연하게 적용되며, 복잡한 프로젝트 구조와 다양한 라이브러리 요구사항을 효과적으로 관리하는 데 도움을 준다
- 의존성 관리:
- 프로젝트에서 필요한 라이브러리(의존성)를 쉽게 관리할 수 있게 도와준다
- 의존성을 선언하면 Maven이 자동으로 필요한 라이브러리를 다운로드한다
- 프로젝트 구조 표준화:
- 표준 디렉터리 구조를 사용하여 프로젝트를 구성하도록 유도한다
- 팀 간의 협업을 용이하게 하고, 새로운 팀원이 프로젝트에 쉽게 적응할 수 있도록 한다
- 빌드 자동화:
- Java 애플리케이션을 컴파일하고 패키징하는 과정을 자동화한다
- 이를 통해 수동 작업의 필요성을 줄이고, 일관된 빌드 결과를 제공한다
- 플러그인 지원:
- 다양한 플러그인을 지원하여, 테스트, 코드 품질 분석, 배포 등 여러 작업을 자동화할 수 있다.
- 프로젝트 관리:
- 프로젝트의 메타데이터를 관리할 수 있는 기능을 제공한다
- 예를 들어, 프로젝트의 버전, 작성자, 라이선스 정보 등을 정의할 수 있다
< Maven의 기본 구성 요소 >
- POM (Project Object Model):
- Maven 프로젝트의 핵심 구성 파일
- pom.xml 파일로 프로젝트의 메타데이터, 의존성, 빌드 설정 등을 정의한다.
- Repositoory
- Maven은 아티팩트를 저장하는 장소다
- 중앙 리포지토리(Central Repository)에서 의존성을 다운로드하고, 로컬 리포지토리에 캐시한다
- 필요 시 사용자 정의 리포지토리도 설정할 수 있다.
- Plug in
- Maven의 기능을 확장하는 모듈
- 다양한 작업(예: 컴파일, 테스트, 패키징 등)을 수행하기 위해 플러그인을 사용할 수 있다
< Maven 설치 >
[ Windows ]
▷ https://maven.apache.org/download.cgi 에서 압축파일 다운로드 -> Binary zip archive

▷ 내려 받은 파일을 원하는 위치에 압축 해제 (C:\maven)
▷ Path 환경변수에 Maven의 bin 디렉토리 추가
[ Mac ]
$ brew install mvn
- 설치 확인 (Windows + Mac)
mvn --version
< 프로젝트 생성 (VS Code ) >
1. ctrl + Shift + P : Java: Create Java Project 선택
2. Maven 선택
3. No Archetype 선택
4. group Id 입력 : 회사 도메인 역순 + 프로그램명 (ex : com.hyeon.gson_ex )
5. artifact Id 입력 : 프로그램명. 여기서는 gson_ex
6. 프로젝트가 생성될 폴더를 지정
( 프로젝트 폴더 이름은 변경 가능 )
7. 프로젝트 폴더 이름 변경
VSCode로 프로젝트를 바로 열지 말고 프로젝트 이름을 변경함 => Gson(Maven)
8. 생성된 프로젝트를 VSCode로 연다.
- group Id
- groupId는 프로젝트를 모든 프로젝트 사이에서 고유하게 식별하게 해 주는 것
- groupId에는 네이밍 스키마를 적용하도록 한다
- groupId는 package 명명 규칙을 따르도록 한다
- artifact Id
- artifactId는 버전 정보를 생략한 jar 파일의 이름
- 이름은 원하는 것으로 아무거나 정해도 괜찮다
- 소문자로만 작성, 특수문자 X
- 스키마 구조 (schema)
- 데이터베이스, XML, JSON 등에서 데이터의 구조를 정의하는 틀
- 데이터의 형식, 관계, 제약 조건 등을 명시하여 데이터가 어떻게 조직되고 저장되는지를 규정
- 테이블, 필드, 데이터 타입, 제약 조건 등을 포함하는 구조
< 라이브러리 참조하기 >
1. 필요한 라이브러리 검색
- https://mvnrepository.com/ 에서 상단의 검색박스에서 필요한 라이브러리 검색 ( ex: gson )
- 필요한 라이브러리 클릭하여 상세 페이지로 진입

- 상세 페이지에서 가장 최신 버전 세부 페이지로 진입
2. 라이브러리 참조 코드 복사
- Maven탭에서 코드 복사
3. pom.xml 편집
- VS Code 에서 프로젝트 생성시 생성된 pom.xml에서 <project><dependencies> </dependencies></project> 태그 안에 복사한 코드 붙여넣기
- model class
- Java에서 model class란 자료구조클래스, 데이터구조를 표현하는 클래스
Java의 for-each 구문
- 컬렉션이나 배열에 있는 모든 요소를 순차적으로 반복할 때 사용된다
- 이 구문은 **향상된 for문(enhanced for loop)** 라고도 부른다
for (타입 변수 : 배열이나 컬렉션) {
// 반복할 코드
}
- "변수" :
- 배열이나 컬렉션에서 각 요소를 담을 변수
- 각 반복마다 변수에 배열에서 하나씩 순차적으로 요소가 저장된다
- "배열이나 컬렉션 :
- 반복 대상이 되는 배열 또는 컬렉션
- 이 배열이나 컬렉션에 있는 요소들이 반복문을 통해 하나씩 "변수"에 할당된다
'IT > JAVA' 카테고리의 다른 글
| Lombok (Gradle) (0) | 2024.09.30 |
|---|---|
| for-each (1) | 2024.09.30 |
| Java API - util package (1) (0) | 2024.09.26 |
| Java API - Lang package java.lang (1) | 2024.09.26 |
| Helper (0) | 2024.09.26 |