- Spring Overview
- Spring Core
- Spring JPA (Hibernate)
- Spring Rest
- Spring Security
- Spring MVC
- Spring MVC CRUD
- Spring Security MVC
- Spring JPA Advanced
- Make the server load automatically using dev-tools.
- Add basic spring security with specified username & password.
- Add actuator endpoints, exclude some, change prefix path.
- Add some information into "info" endpoint.
- Add custom properties, Edit some spring boot properties.
- Create simple rest controller to handle requests.
- Implement dependency injection with constructor, setter, field injection.
- with java annotation configuration,
@Autowired,@Component.
- with java annotation configuration,
- Configure
@SpringBootApplicationto add further packages in component scanning process. - Handle dependency injection process in case of multiple dependencies available.
- using
@Qualifier,@Primary
- using
- Change bean scope of
TennisPlayerbean and display it's influence using 'check' endpoint. - Add initialization and destruction methods to
CricketCoachbean. - Configure spring container using Java-Based configuration (
swimCoachbean).
- Connect to a database.
- Use
CommandLineRunnerbean. - Create an entity class
Student. - Create an DAO class
StudentDAO. - Do CRUD (Create, Read, Update, Delete) operations.
- write some specific queries for CRUD operations.
- use Named Parameters in queries.
- Create database table automatically from our app.
- using
createvalue inapplication.propertiesfile. - !Warning! everytime you run the app, tables dropped then created.
- using
How to design a REST API to handle database operations (CRUD).
- Setup database and connect to it.
- Create
EmployeePOJO class and prepare it as entity. - Implement
EmployeeDAO & Service. - Create Rest API controller to handle employee operations.
- Make specific Exception and handle it using global exception.
- Create the same project using
JpaRepository,Spring Data Resttechniques. - Configure and explore some
Spring Data Restproperties and features.- Pagination, Sorting, Resource name.
Handling Authentication and Authorization process with help of spring security framework.
- Implement previous section again using
JpaRepositorywith services (not provided in previous sections). - Enable spring security by inject
spring-securitydependency.- change default username and password in
application.propertiesfile.
- change default username and password in
- Configure authentication with define users credentials (In Memory).
- Configure Authorization using
SecurityFilterChain. - Configure authentication with define users credentials (In Database).
- Auto database access.
- Customize database access.
- Use
Bcryptalgorithm in storing user password.
Implement MVC application with Thymeleaf template engine.
- Create MVC controller to handle client requests.
- Add
Thymeleaftemplate engine dependency to can use with spring MVC. - Apply some local CSS in our project.
- Perform lifecycle of form process.
- create method handles client request.
- create method handle form confirmation.
- create two html files, one to show form, second to show confirm information.
- use
Modelas data container. - create
Studentclass to save returned data in submission form request. - know annotations like
@ModelAttribute,@RequestParam.
- Practice several form inputs.
- text, checkbox, radio, select.
- avoid hard coding values with help of properties file.
- Do some data validation.
- required fields, number range, regular expressions.
- use
@InitBinderto handle request parameters before binding process. - handle passing string to integer field errors.
- Write validation error messages outside the code in
messages.propertiesfile.
- Do custom validation.
- Reuse
EmployeeService&EmployeeRepositoryfrom previous projects. - Add css bootstrap styles from internet.
- Create a logic to get all employees.
- Create a logic to add an employee.
- Create a logic to update an employee.
- Create a logic to delete an employee.
- Add some validation rules.
- Sort results based on first name.
- Make index page redirect to
employees/listurl.
We implement same things in previous security section with new things.
- Create custom login form.
- Show login error messages.
- Add logout feature to the app.
- Display username and roles.
- Restrict access based on roles.
- Display content based on roles.
- Create custom access denied page.
- Implement one-to-one relation.
- Bi-directional.
- Uni-directional.
- Cascade operations.
- Implement Many-to-one relation.
- Implement Many-to-Many relation.
- Manipulate with fetch types (Lazy and Eager).