To generate your application, type:
yo jhipster
And answer the questions asked by the generator to create an application taylored to your needs. Those options are described in the next section.
Once the application is generated, you can launch the Java server within your IDE, by running the Application class at the root of your application's Java package.
As it is a simple "Main" class, it is the easiest and quickest way to run and debug the application.
If you prefer to use Maven, you can also run your application by typing:
mvn spring-boot:run
The application will be available on http://localhost:8080
This is the name of your application.
Your Java application will use this as its root package.
Depending on your choice, JHipster will either create a Java 7 or a Java 8 application. Java 8 comes with many new features, including lambdas, and having JHipster create some sample code is a great way to start using them.
You can either use a classical cookie-based authentication mechanism, like we are used to do in Java (this is how most people use Spring Security), or a OAuth2 authentication mechanism, which can allow you to build a stateless Web application (if you don't use your HTTP session anywhere else in your code).
You can choose between a classical SQL database, which you will access with Spring Data JPA, or a NoSQL approach with MongoDB.
This is the database you will use with your "production" profile. To configure it, please modify your src/main/resources/config/application-prod.yml
file.
This is the database you will use with your "development" profile. To configure it, please modify your src/main/resources/config/application-dev.yml
file.
Hibernate is the JPA provider used by JHipster. For performance reasons, we highly recommend you to use a cache, and to tune it according to your application's needs.
If you choose to do so, you can use either ehcache (local cache) or Hazelcast (distributed cache, for use in a clustered environnement)
By default, JHipster uses a HTTP session only for storing Spring Security's authentication and autorisations information. Of course, you can choose to put more data in your HTTP sessions.
Using HTTP sessions will cause issues if you are running in a cluster, especially if you don't use a load balancer with "sticky sessions".
If you want to replicate your sessions inside your cluster, choose this option to have Hazelcast configured.
Websockets can be enabled using Spring Websocket. We also provide a complete sample to show you how to use the framework efficiently.
You can build your generated Java application either with Maven or Gradle. Maven is more stable and more mature, and is our recommended choice if you don't know which option to take. Gradle is more flexible, easier to extend, and more hype.
Grunt is the most widely used and most mature build tool for your JavaScript and CSS assets. Gulp.js is a more recent alternative, which is easier to use and learn.
Compass / Sass is a great solution to simplify designing CSS. To be used efficiently, you will need to run a Grunt server, which will be configured automatically.