-
JHipster 시리즈 2화 - JHipster 설치와 프로젝트 생성 – 모놀리식 앱 실습언어 및 프레임워크/JHipster 2025. 5. 5. 15:06728x90
JHipster 설치부터 모놀리식 애플리케이션 프로젝트를 직접 생성하고 실행하기까지의 과정을 상세히 설명합니다. 실전 개발 환경을 고려해 설치 조건, 코드 구조, 커스터마이징 요소까지 정리했습니다.
왜 JHipster 설치부터 실습이 중요한가?
JHipster는 **풀스택 애플리케이션의 자동 생성기(generator)**로, 백엔드(Spring Boot)와 프론트엔드(React/Angular/Vue), 인증 시스템, DB 설정, 배포 환경까지 포함한 완성도 높은 프로젝트를 자동으로 구성합니다.
하지만 이 모든 기능을 체험하고 실제 실무에 적용하려면, 단순한 CLI 실행만으로는 부족합니다. 각 설정이 어떻게 작동하는지, 어떤 구조로 파일이 구성되고 유지보수 가능한 설계인지 확인해야 합니다.
이번 글에서는 모놀리식(monolith) 아키텍처를 기준으로 기본 앱을 생성하고, 이를 기반으로 실무에서 고려해야 할 포인트를 함께 살펴봅니다.
JHipster 설치 준비 – 환경 요구 사항부터 체크
먼저 JHipster를 사용하려면 몇 가지 필수 개발 환경이 선행되어야 합니다.
기본 설치 환경
구성 요소버전 / 설명
Node.js 18.x 이상 권장 (CLI 실행을 위한 기반) npm Node 패키지 매니저 (또는 yarn) Java JDK 17 이상 권장 (Spring Boot 3.x 기반) Git 필수 (CLI 내부에서 Git 연동 사용) Docker 선택사항 (데이터베이스/서비스 컨테이너화 시 유용) 설치 확인 예시:
node -v java -version git --version docker -v
설치된 환경이 준비되었으면, 아래 명령어로 JHipster를 전역(global) 설치합니다.
npm install -g generator-jhipster
설치 완료 후 아래 명령으로 정상 작동 여부를 확인합니다.
jhipster --version
이제 CLI를 활용할 준비가 되었습니다.
CLI로 첫 프로젝트 생성 – Monolith 방식 실습
JHipster는 CLI 실행 후 다수의 질문을 통해 프로젝트 구성을 자동화합니다. 이번 실습에서는 Monolith 구조를 선택합니다. 이는 백엔드와 프론트가 통합된 전통적인 웹 애플리케이션 구조로, 초기 개발 속도가 빠르고 유지관리가 용이합니다.
mkdir demo-monolith-app && cd demo-monolith-app jhipster
CLI를 실행하면 다음과 같은 질문이 나옵니다.
주요 설정 항목 예시
항목선택 예시설명
애플리케이션 유형 Monolithic 단일 프로젝트 구조 Base name demoApp 프로젝트 이름 패키지 이름 com.example.demo Java 기본 패키지 인증 방식 JWT 토큰 기반 인증 데이터베이스 PostgreSQL 개발/운영 DB 동일 설정 프론트엔드 프레임워크 React 최신 UI 프레임워크 선택 빌드 도구 Gradle or Maven 팀 내 선호에 따라 결정 추가 기능 i18n, Swagger, Pagination 실무에 유용한 기본 기능 제공 설정 완료 후 약 2~5분 이내로 프로젝트가 생성됩니다.
프로젝트 구조 분석 – 실무 관점의 구성 이해
JHipster는 다음과 같은 디렉토리 구조를 생성합니다.
├── src/ │ ├── main/ │ │ ├── java/ # Spring Boot 백엔드 │ │ ├── resources/ # 설정파일 및 메시지 번역 │ │ └── webapp/ # React 프론트엔드 │ └── test/ # 테스트 코드 ├── package.json # JS 의존성 정의 ├── build.gradle / pom.xml # 빌드 관리 (Gradle or Maven) ├── .yo-rc.json # JHipster 설정 원본 파일
실전 포인트: 디렉토리별 주의할 점
- src/main/java: Application.java → Spring Boot 진입점
- SecurityConfiguration.java: Spring Security + JWT 설정 핵심
- webapp/app/: 프론트엔드 소스코드 (React, Redux 포함)
- .yo-rc.json: JHipster 재생성시 참조되는 설정 저장소
- application-dev.yml: 개발/운영 환경 구분 설정 가능
실행 및 결과 확인
./gradlew
기본 포트인 localhost:8080에서 앱을 확인할 수 있습니다.
기본 관리자 계정:
- ID: admin
- PW: admin
화면 구성
- 로그인 화면 → 기본 인증 구현
- 관리자 메뉴: 사용자/로그 관리/애플리케이션 정보
- Swagger API UI 포함
실무 팁: JHipster 프로젝트에서 반드시 검토할 요소
항목실무 고려사항
환경 설정 application-*.yml 환경별 분리 필수 커스터마이징 Entity 및 Service 로직 수정 시 코드 재생성 전략 필요 Git 연동 생성 직후 초기 커밋, 이후 diff 기반 추적 추천 React 구조 Redux-Saga 기반 구조 이해 필요 빌드 전략 로컬/테스트/운영 환경에 따라 빌드 전략 정의
실제 도입한 팀의 구성 팁
한 스타트업 사례에서는 다음과 같은 방식으로 도입 초기화를 진행했습니다.
- JHipster로 기본 프로젝트 생성 (Monolith)
- 엔티티 정의는 JDL 사용 → 자동 생성
- 프론트엔드는 React만 추출하여 별도 저장소 분리
- Spring Security는 OAuth2로 확장
- Dev 환경은 Docker Compose로 구성
이렇게 하면 초기 MVP를 2주 이내로 제품화하고, 내부 관리 UI까지 빠르게 적용할 수 있었습니다.
마치며 – “자동 생성” 그 이상의 설계 도구
JHipster는 단순히 코드를 찍어내는 생성기가 아니라,
현업 개발자가 바로 사용할 수 있는 설계 구조를 제공하는 프레임워크에 가깝습니다.
이번 실습을 통해 JHipster가 제공하는 구조의 강점,
그리고 실전 도입 시 확인해야 할 디테일들을 함께 살펴보았습니다.
다음 화 예고
JHipster 시리즈 3화 - JDL을 이용한 Entity 모델링과 CRUD 생성기 실습
복잡한 비즈니스 도메인을 코드로 빠르게 설계하고 문서화하는 방법으로 JDL(JHipster Domain Language)을 활용합니다. 복수 엔티티, 관계설정, 자동 UI 구성까지 실무에 가까운 예제로 이어갑니다.
728x90'언어 및 프레임워크 > JHipster' 카테고리의 다른 글
JHipster 시리즈 5화 - React 프론트엔드 커스터마이징 실전 가이드 (0) 2025.05.12 JHipster 시리즈 4화 - Spring Security와 JHipster의 인증 구조 이해 (0) 2025.05.09 JHipster 시리즈 3화 - JDL을 이용한 Entity 모델링과 CRUD 생성기 실습 (0) 2025.05.07 JHipster 시리즈 1화 - JHipster란 무엇인가? (1) 2025.05.02