This projects contains Spring boot, Spring security login and logout, Multiple view resolvers, Html, Thymleaf integration, Hibernate integration and Maven multiple modules. Main intention of this project is to quickly start a complex java spring web application project without worrying about basic setup. We hope this project will fulfill your needs. We welcome contributors.
We decoupled the dependencies between different features of this project. So we have created different branches with each unique features. If you want a specific feature with Spring boot basic integration. You can clone only what you need.
-
Spring basic configuration
-
Hibernate integration
-
Logging
-
Multiple View resolvers
-
Thymleaf integration
-
Login and Logout
-
Registration
-
Password Encoder
-
Form Validation
-
Authorization (Roles and Privilege)
-
CSRF Token Integration (Blocks security vulnerabilities)
-
"Remember Me"
-
From the root directory run the following command
mvn install
-
If you use Intellij, It should have detected it as Spring boot application and you should able to see run configuration for this. Otherwise run the below command from the root directory.
mvn spring-boot:run
-
Now you have started the application successfully. We have created in-built test endpoints as follows.
http://localhost:8080/ - Verify Spring boot and Controller mappings.
http://localhost:8080/html - Verify View resolvers and Controller response.
http://localhost:8080/database - Verify Hibernate and database configuration.
http://localhost:8080/login - Simple html login form with Login feature and Verify Thymleaf Integration.
http://localhost:8080/home - Simple html file with Logout feature.
http://localhost:8080/registration - Simple user role registration form
http://localhost:8080/registration/admin - Simple admin role registration form
http://localhost:8080/registration/customer/ - Access only for user have "ADMIN" role.
http://localhost:8080/registration/account/ - Access only for user have "USER" role.
-
If you face any issue during the application startup. Please check the below points. If it is not helpful, please create an issue in this repository or notify us.
- Check database configuration in "application.properties"
- Verify the database table structure matches with Hibernate Entity classes
Stay tuned :)
-
Exception Handling
-
OAuth Integration
-
Forgot Password