JHipster 
薛元揆 (Study) 
@phstudy
What is JHipster? 
+ 
Hipster 
http://jhipster.github.io
Java Hipster is a 
Yeoman Generator
What is Yeoman?
Scaffolding Java Webapp in 
several steps 
https://github.com/jhipster/jhipster-sample-app
Demo
Front-end
Front-end 
• Dependency Management 
• Bower 
• JavaScript framework 
• AngularJS 
• Angular Translate (i18n) 
• CSS framework 
• Bootstrap
Front-end 
• Task Runner 
• Grunt / Gulp.js 
• dev: live reload 
• prod: compress & optimize resources, compile sass 
• Testing 
• Karma 
• PhantomJS
Front-end 
• CSS Authoring Tools 
• Compass (optional) 
• WebSocket 
• Atmosphere (optional)
Back-end
Java & Build tools 
• Java Language 
• Java 7 
• Java 8 
• Build tools 
• Gradle 
• Maven
Platform, MVC & Security 
• Platform 
• Spring Boot 
• dev & prod profiles 
• MVC Framework 
• Spring MVC 
• REST Controller only 
• Security Framework 
• Spring Security
View Engine & WebSocket 
• Template Engine 
• Thymeleaf 
• WebSocket 
• Atmosphere (optional)
• ORM Framework 
• Hibernate 
• JPA 
• Spring Data JPA 
• JDBC Connection Pool 
• HikariCP 
ORM & CP
NoSQL, SQL & DB MGMT 
• NoSQL 
• MongoDB 
• SQL 
• H2, MySQL & PostgreSQL... 
• Database Schema Management 
• Liquibase
Cache & Session MGMT 
• Cache 
• ORM L2 Cache 
• Hazelcast (distributed) 
• Ehcache (local) 
• HTTP Session Manager 
• Hazelcast
Monitor & Log 
• Monitor 
• Metrics 
• Log 
• Logback
JHipster 
Sub-generators
Sub-generators 
• Create entity 
• Create service 
• Deploy to PaaS 
• Heroku 
• OpenShift
Create Entity 
• Generated code included 
• HTML & AngularJS CRUD JS 
• Entity Model & Relationship 
• Spring Data JPA Repository 
• Spring MVC REST Controller 
• Liquibase Change Set
Create Entity
Conclusions 
• Good reference for choosing frameworks 
• Quick & easy to build simple & security CRUD 
application 
• No DSL, just simply override 
• better to commit code for each sub-generator 
operation
JCConf Taiwan 2014 
• Spring Boot 
• Bootify Your Spring Applications 
• Gradle 
• Gradle 起步⾛走: 以 CLI Application 為例 
• ORM 
• Simplify Multi-Tenant Queries in ORM Frameworks 
• Hazelcast 
• Establish The Core of Cloud Computing 
Application by Using Hazelcast

JHipster

  • 1.
  • 2.
    What is JHipster? + Hipster http://jhipster.github.io
  • 3.
    Java Hipster isa Yeoman Generator
  • 4.
  • 6.
    Scaffolding Java Webappin several steps https://github.com/jhipster/jhipster-sample-app
  • 7.
  • 8.
  • 9.
    Front-end • DependencyManagement • Bower • JavaScript framework • AngularJS • Angular Translate (i18n) • CSS framework • Bootstrap
  • 10.
    Front-end • TaskRunner • Grunt / Gulp.js • dev: live reload • prod: compress & optimize resources, compile sass • Testing • Karma • PhantomJS
  • 11.
    Front-end • CSSAuthoring Tools • Compass (optional) • WebSocket • Atmosphere (optional)
  • 12.
  • 13.
    Java & Buildtools • Java Language • Java 7 • Java 8 • Build tools • Gradle • Maven
  • 14.
    Platform, MVC &Security • Platform • Spring Boot • dev & prod profiles • MVC Framework • Spring MVC • REST Controller only • Security Framework • Spring Security
  • 15.
    View Engine &WebSocket • Template Engine • Thymeleaf • WebSocket • Atmosphere (optional)
  • 16.
    • ORM Framework • Hibernate • JPA • Spring Data JPA • JDBC Connection Pool • HikariCP ORM & CP
  • 17.
    NoSQL, SQL &DB MGMT • NoSQL • MongoDB • SQL • H2, MySQL & PostgreSQL... • Database Schema Management • Liquibase
  • 18.
    Cache & SessionMGMT • Cache • ORM L2 Cache • Hazelcast (distributed) • Ehcache (local) • HTTP Session Manager • Hazelcast
  • 19.
    Monitor & Log • Monitor • Metrics • Log • Logback
  • 20.
  • 21.
    Sub-generators • Createentity • Create service • Deploy to PaaS • Heroku • OpenShift
  • 22.
    Create Entity •Generated code included • HTML & AngularJS CRUD JS • Entity Model & Relationship • Spring Data JPA Repository • Spring MVC REST Controller • Liquibase Change Set
  • 23.
  • 24.
    Conclusions • Goodreference for choosing frameworks • Quick & easy to build simple & security CRUD application • No DSL, just simply override • better to commit code for each sub-generator operation
  • 25.
    JCConf Taiwan 2014 • Spring Boot • Bootify Your Spring Applications • Gradle • Gradle 起步⾛走: 以 CLI Application 為例 • ORM • Simplify Multi-Tenant Queries in ORM Frameworks • Hazelcast • Establish The Core of Cloud Computing Application by Using Hazelcast