Build a robust and secure backend for your application with Spring Security 6. This repo demonstrates how to create an authenticated backend using Spring Security, Spring Data JPA for database access, JWT generation for enhanced security, and harnessing capabilities through HTTP POST requests.
- What is Spring framework?
- Spring Vs Java EE.
- Evolution of Spring and release timeline of Spring
- Different projects inside Spring
- Spring Core Concepts like Inversion of Control (IoC), Dependency Injection (DI) & Aspect-Oriented Programming (AOP)
- Different approaches of Beans creation inside Spring framework
- Bean Scopes inside Spring framework
- Autowiring of the Spring Beans
- Lombok library and Annotations
- Introduction to MVC pattern & overview of web apps
- Spring MVC internal architecture & how to create web applications using Spring MVC & Thymeleaf
- Spring MVC Validations
- How to build dynamic web apps using Thymeleaf & Spring
- Thymeleaf integration with Spring, Spring MVC, Spring Security
- Deep dive on Spring Boot, Auto-configuration
- Spring Boot Dev Tools
- Spring Boot H2 Database
- Securing web applications using Spring Security
- Authentication , Authorization, Role based access
- Cross-Site Request Forgery (CSRF) & Cross-Origin Resource Sharing (CORS)
- Database create, read, update, delete operations using Spring JDBC
- Introduction to ORM frameworks & database create, read, update, delete operations using Spring Data JPA/Hibernate
- Derived Query methods in JPA
- OneToOne, OneToMany, ManyToOne, ManyToMany mappings inside JPA/Hibernate
- Sorting, Pagination, JPQL inside Spring Data JPA
- Building Rest Services inside Spring
- Consuming Rest Services using OpenFeign, Web Client, RestTemplate
- Spring Data Rest & HAL Explorer
- Logging inside Spring applications
- Properties Configuration inside Spring applications
- Profiles inside Spring Boot applications
- Conditional Bean creation using Profiles.
- Monitoring Spring Boot applications using SpringBoot Actuator & Spring Boot Admin
- Deploying SpringBoot App into cloud using AWS Elastic Beanstalk
- Good understanding on Core Java
- Basic understanding on HTML, CSS, Web Apps but not mandatory
- Interest to learn and explore about Spring framework
- Spring website to generate projects - https://start.spring.io/
- Spring Website - https://spring.io/
- Spring Projects website - https://spring.io/projects
- Thymeleaf website - https://www.thymeleaf.org/
- Lombok website - https://projectlombok.org/
- AWS website - https://aws.amazon.com/
- AWS Elastic Beanstalk - https://aws.amazon.com/elasticbeanstalk/
-
Spring Security 6: Craft a fortified backend by leveraging the latest capabilities of Spring Security 6. Ensure that your application's data remains safeguarded with top-tier security measures..
-
Spring Data JPA: Seamlessly interact with your database through Spring Data JPA. Manage user data, roles, and more with the power of JPA-based repositories.
-
JWT Generation: Elevate security to the next level with JSON Web Token (JWT) generation. Ensure secure communication between your frontend and backend while minimizing potential vulnerabilities.
-
HTTP POST Capabilities: Harness the power of HTTP POST requests to create, update, and manage resources. Empower your frontend to interact seamlessly with the backend..
Follow these steps to get started with your secure backend:
-
Clone the repository:
git clone https://github.com/Innocentsax/Spring-Security_6.git
-
Configure your database settings in
src/main/resources/application.properties
.. -
Build and run the project:
mvn spring-boot:run
-
Access the API documentation and explore the available endpoints.
This backend template is designed to jumpstart your development process. Customize and expand upon it to suit your application's needs. Secure your endpoints, manage user access, and establish a reliable foundation for your project.
For detailed documentation on endpoints, authentication, and more, refer to the API Documentation.
Contributions are welcome! If you find any issues or have suggestions, feel free to submit a pull request or open an issue..
This project is licensed under the MIT License - see the LICENSE file for details.