This project can be used as a starting point to create your own Vaadin application with Spring Boot. It contains all the necessary configuration and some placeholder files to get you started.
You can edit the classes described below (add or delete or rearrange the layout) in order to gain some confidence working with Vaadin.
- Inside src/main/java/com/example/application/views in class MainLayout exists the menu in createNavigation function. If you would like to add more pages you have to add a new SideNavItem object in SideNav and create a new class like for example HelloWorldView which extends VerticalLayout.
- Inside src/main/java/com/example/application/views/helloworld/ in class HelloWorldView you can see that there is a VerticalLayout (HelloWorldView extends VerticalLayout) and inside it two HorizontalLayout's. Eeach one of them has TextField and Button's. As you can see in line 43 you can add a click listener and perform database operations by calling the related class (line 44 , line 59).
- A very handy Vaading component is Notification with which you can directly show shom information to the user (lines 45, 60).
The project is a standard Maven project. To run it from the command line,
type mvnw
(Windows), or ./mvnw
(Mac & Linux), then open
http://localhost:8080 in your browser.
You can also import the project to your IDE of choice as you would with any Maven project. Read more on how to import Vaadin projects to different IDEs (Eclipse, IntelliJ IDEA, NetBeans, and VS Code).
To create a production build, call mvnw clean package -Pproduction
(Windows),
or ./mvnw clean package -Pproduction
(Mac & Linux).
This will build a JAR file with all the dependencies and front-end resources,
ready to be deployed. The file can be found in the target
folder after the build completes.
Once the JAR file is built, you can run it using
java -jar target/my-app-1.0-SNAPSHOT.jar
MainLayout.java
insrc/main/java
contains the navigation setup (i.e., the side/top bar and the main menu). This setup uses App Layout.views
package insrc/main/java
contains the server-side Java views of your application.views
folder insrc/main/frontend
contains the client-side JavaScript views of your application.themes
folder insrc/main/frontend
contains the custom CSS styles.
- Read the documentation at vaadin.com/docs.
- Follow the tutorial at vaadin.com/docs/latest/tutorial/overview.
- Create new projects at start.vaadin.com.
- Search UI components and their usage examples at vaadin.com/docs/latest/components.
- View use case applications that demonstrate Vaadin capabilities at vaadin.com/examples-and-demos.
- Build any UI without custom CSS by discovering Vaadin's set of CSS utility classes.
- Find a collection of solutions to common use cases at cookbook.vaadin.com.
- Find add-ons at vaadin.com/directory.
- Ask questions on Stack Overflow or join our Discord channel.
- Report issues, create pull requests in GitHub.