정의
https://inyl.github.io/programming/2016/10/15/JHipster.html
Spring Boot + Front end + etc… 등등으로 구성된 프로젝트를 generate 해주는 서비스이다.
현재는 yo jhipster
대신에 jhipster
명령어만 입력해서 실행시킬 수 있다.
이후 나오는 선택사항들을 토대로 프로젝트가 generator 된다(아주 방대한 양의 소스가 generate 된다)
지원하는 기술이 굉장히 많다.
msa 프로젝트 초기 구성시에 좋다.
msa 프로젝트 generate 예시
- service type - Microservice Application
- project name
- port
- package name
- discovery server - jhipster registry
- authentication type - jhipster UAA
- uaa project path
- database type - SQL(H2, MySQL…)
- production database - MySQL
- development database - MySQL
- cache abstraction - Hazelcast
- 2nd level cache - Yes
- build tool - Gradle
- other technology - OpenAPI generator, Kafka
- internationalization - Yes
- native language - Korean
- additional language - English
- test framework - Cucumber
- other generator - No
msa 설정 시 추가로 해줘야할 부분
jhipster-registry 설정
msa 구성 시 eureka 서버를 사용해야 하는데 jhipster-registry가 그 역할을 해준다.
그러므로 클론받고 띄워줘야 한다.
1 | git clone https://github.com/jhipster/jhipster-registry |
kafka 설정(선택했을 경우)
jhipster init 할때 kafka를 설정했을 경우, docker로 kafka를 실행한다
1 | cd {jhipster_project_home} |
jdl
jhipster에서 도메인을 나타낼 떄 사용하는 language이다.
https://www.jhipster.tech/jdl/
작성한 도메인의 관계도는 아래의
https://start.jhipster.tech/jdl-studio/
에서 가시적으로 확인해볼 수 있고,
.jh
확장자로 따로 저장도 가능하다.
작성한 .jh
파일은 아래의 명령을 통해 jhipster에 적용 갸능하다.
1 | jhipster import-jdl <jdl file path> |
위 명령을 수행하면 작성한 내용을 기준으로 entity, repository를 생성하고 생성된 repository를 사용하여 기본적인 CRUD를 호출하는 controller를 만들어준다.
(초반 generate 시에 위 파일을 지정해줄수도 있다고 한다)
하지만 생성된 entity, repository를 그대로 사용할수는 없으니(당연하다)
초반 와꾸잡는데만 사용하고, 그 시점이후로는 jdl 파일을 건드리진 않는다.