
Welcome to my course!
Let's talk about what we're going to cover on this course
Spring is an innovative java framework for all the things you need. In this video, we're going to cover Dependency Injection (DI) Inversion of Control (IoC) and much more about the philosophy of Spring. Let's learn more about it!
We're beginning to understand what Spring is. Let's talk about Spring Boot adds on top of it and has to offer!
Let's wrap up what've learned in this section!
We'll be setting up our development environment for both MacOS and Windows in this section.
In this video, we'll learn how to setup Java for development in our own environment.
In this video, we'll learn how to setup Java for development in our own environment.
Let's discuss our choice of IDE which is IntelliJ and what other IDEs that we can use with Spring development!
Let's install IntelliJ IDEA on Windows
Let's install IntelliJ IDEA on MacOS
Let's talk about what've covered in this section
Let's create our very first Spring Boot application!
Let's take a look Spring Initializr and what other ways we have to create Spring applications.
Let's understand what Maven is and what it can do for us.
Let's discover how we can build and package our application with Maven.
This is your first exercise to create a Spring Boot application of your own!
Let's talk about what we've covered in this section!
Explore dependency injection and inversion of control using the Spring IoC container to manage dependencies, reduce tight coupling, and simplify configuration with constructors, setters, and factories.
Let's talk about the lifecycle of a typical Spring Boot application!
Now, let's learn how we can manage our application with properties files.
Let's learn how we can manage our application behaviour with Spring Profiles and Spring Configuation
Let's take an overview of what we've learned in this section!
In this section, we're going to build a Spring MVC application
Let's talk about how we can manage static content such as images, sounds, javascript and css files within our applications.
Templating is an important aspect of a complex web application. Let's talk about Thymeleaf and other alternatives.
Let's have a demo of Thymeleaf and how we can build ourselves a web page.
Now its your turn to develop a Spring MVC application!
Let's take an overview of what we've learned in this section!
In this section we're going to learn about Spring Data and JPA!
Let's learn what H2 in-memory database and what it can do for us!
Let's create our own entites with Spring Data and JPA!
Let's create a repository and persist data with Spring Data and JPA
Now let's learn how we can read and query data with Spring Data and JPA
Let's learn different ways of reading and querying with Spring Data and JPA
Update a product using Spring Data and JPA by finding it via type, then updating its fields and saving the entity. Hibernate updates the existing record using the primary key.
Now let's learn how to delete with Spring Data and JPA
Now it's your turn to develop your own Spring Data application!
Let's wrap up what we've covered in this course!
In this section, we're going build ourselves a RESTful API!
Let's learn HTTP request types
Let's take a look at HTTP response codes
Let's take a look at all the different types of HTTP clients we use
Create a Spring Boot REST API with a product entity, a JPA repository, and CRUD operations via a REST controller and request mappings, backed by an H2 database.
Learn how to post a product to a Spring REST API, using a request body and JSON data, and persist it to the database via a post endpoint at api/products.
Implement a put endpoint with Spring REST that updates a product by id using a JSON request body, saving changes to the repository and returning the updated product.
Implement a delete endpoint in Spring REST to remove a product by id. Find and delete the entity in the repository, returning 200 with no content.
Explore rest api elements in spring, including rest controller, request mapping, path variable, and jpa repository, and see how get, post, put, and delete endpoints consume and produce json.
Refactor the rest api to improve maintainability by implementing controller advice for exception handling, logging user actions, moving logic to a product service, and using a dto for errors.
Refactor the rest api by moving the controller logic to a service, creating a void delete method using the id, and adding logging and exception handling.
Learn to call Spring endpoints programmatically using RestTemplate, set up a RestTemplate bean, wire it with autowired, and perform get requests against a rest api and repository application.
Learn how to build a Eureka server and register microservices, register apps with Eureka, and use Netflix Feign client for simplified inter-service REST calls in a Spring Cloud environment.
Develop a Feign client to call a REST API through Eureka discovery, using an interface annotated as a Feign client and a simple POJO to map the response.
Break the project into building blocks—from components to basic data models and persisting data to a database, then build models, repositories, services, and controllers with clear request mappings.
Review RESTful APIs, HTTP methods, and response codes; build a Spring REST API with a model, service, and controller; refactor for maintainability and explore RestTemplate, Feign, and Eureka.
Build a full-featured Spring Boot web application to manage products, using Spring Data and Spring REST, with a UI built on Bootstrap to list, create, and edit products.
Bootstrapping the application, this lecture creates a Spring project with web and JPA dependencies, configures an H2 database, and implements a data loader, entity, and repository.
Build an index page with a reusable header and a Bootstrap navigation using HTML5 and CSS3, showcasing home, products, create product, and a jumbotron.
Create a product page by building a controller with a get mapping, a bound product form, and a post to /products that saves via the repository and redirects to index.
Create a products listing page at /products and render a table showing id, name, description, type, category, and price, using th:if and th:each with repository findAll to supply data.
Add an edit button to the product table, link it to /products/edit with the product id, fetch the product in the edit controller, populate the form, and update the price.
Add a delete button to the products table, implement a Spring Boot delete method with path and id, and redirect to the updated products page, and style the navigation bar.
Learn to build a spring boot app with spring data and web, load two initial products, and manage them via a bootstrap-thymeleaf ui with create, edit, and delete.
Outline components and design considerations, then implement a CRUD application in Spring from scratch or customize the shared application.
This section reviews building a web app with spring boot and spring rest, implementing CRUD operations and a bootstrap UI. It introduces extras like live reload, lombok, actuator, and swagger.
Learn to speed development with Spring DevTools and live reload, enabling hot swapping and instant changes in the browser for your Spring applications.
Learn to document a restful API with Swagger, configure Swagger 2 via Springfox, supply API info and docs path, and explore the interactive Swagger UI for your controllers.
Explore Spring actuator to monitor and interact with your application through pre-built endpoints, customize endpoints, and control environments and mappings via application properties for real-time insights.
Enable Spring scheduler in a Spring Boot app with @EnableScheduling and @Scheduled to run actions. Use initial delay, fixed delay, and fixed rate, and note data cannot be persisted.
Explore project Lombok to remove boilerplate by using annotations like @Data, which auto-generates getters, setters, toString, equals, hashCode, and with @AllArgsConstructor and @NonNull for constructors and null checks.
Build a Spring Boot email client that templates and delivers HTML emails with Thymeleaf, using a mail sender, template engine, and a command line runner to send a demo message.
Leverage Spring dev tools for instant updates with a plug-in to boost your development workflow. Use Swagger for API documentation, Spring Actuator metrics, Lombok, and Time Wave email templates.
Explore the spring ecosystem, from spring and spring boot fundamentals to extras like actuator and swagger, and see how spring powers cloud native architectures used by Netflix and others.
Celebrate your progress as you finish this spring development marathon and follow for updates on the upcoming course on Macra services and cloud development with spring.
Do you want to become a Spring Developer with lots of high-demand skillsets in your toolbox? Do you want to learn how Spring Framework and Spring Boot works? You should definitely join me where we will be diving deep into the Spring Framework and Spring Boot and develop Spring MVC, Spring Data, Spring REST applications and much more starting from scratch!
List of technologies we will cover in this course is huge. Covering everything with Spring technology stack, to combine all the technologies we learned, we will buid a full-featured, production-grade Spring MVC CRUD application where we will use Spring Data, Spring REST, Spring MVC, Thymeleaf, HTML5, CSS3 and Bootstrap! So we will also get a taste of UI and Front-End development too with Spring!
First, we will start by setting up our development environment. To set things up, I will show you how you can prepare your environment both on Windows and MacOS. We'll then learn and understand how Spring Framework and Spring Boot works. We will discover the architecture of Spring Framework and Spring Boot and how everything amazingly work together and handled by the framework itself. We will make use of Spring Initializr to create all of our applications and I will teach you how you can make the most out of it. We will use both use IDE version of Spring Initializr and also start dot spring dot io. We will also learn to how to build and package our application with Maven. Then we will start by developing our first Spring Boot application! After our first application, we will start digging into Spring Boot more and learn how Dependency Injection(DI) and Inversion of Control(IoC) works. Learning DI and IoC is a crucial process in learning how Spring works and to actually work with it. When we understand DI and IoC, we will discover the world of Spring Profiles and Spring Configuration. We will activate profiles and learn how to configure our application for our specific needs.
When we grasp the inner workings of Spring, we will start developing our first web application with Spring MVC and Thymeleaf. When we're implementing, you will understand what each and every component is and how to handle static content like Javascript, CSS, Images and much more in our application. Most importantly, you will understand what templating is and how to dinamicaly bind data to HTML pages.
After we finish our first Spring MVC application, we will learn and understand how Spring Data and JPA works and to actually implement them, we will connect to databases, create entities and repositories and persist data with Spring Data and JPA.
On top of Spring Data, we will build a RESTful API following the standards in the real-world use-cases. We will create controllers and implement all the important HTTP operations such as GET, POST, PUT and DELETE. After finishing our implementation, we will take safety measures for our RESTful API and implement ControllerAdvice and error-handling. After handing errors for our RESTful API, we will take a step back and refactor our code.
When we finish developing our RESTful API, we will take a bold step ahead and combine all the knowledge we had throughout the course to develop a full-featured Spring MVC CRUD application with a beautiful UI! We'll make use of Spring Boot, Spring Data, Spring REST, Spring MVC, Thymeleaf, HTML5, CSS3, Bootstrap and much more!
We are not done yet! At the end of "Bring it All Together" section. We will move on with "Extras" section where we will discover lots of other great technologies and libraries we can use in our applications. To see our changes in any application and most importantly in web applications, we will discover Spring Dev Tools and Live Reload. We will also nicely document our RESTful API with Swagger where we can navigate and interact with our API. To understand the metrics of our application, we will discover Spring Actuator and kepp track of everything going on with our application. We will also learn another cool feature of Spring as it is the Spring Scheduler. With Spring Scheduler, it is really easy to schedule and trigger actions for specific timelines in any application. Then we will discover the beauty of Project Lombok to get rid of lots of boilerplate code in our application. And finaly, we will combine Thymeleaf with Spring Email capabilities to template and deliver HTML5 emails from our application.
Finally, do not forget that Udemy offers you the lifetime access to course contents from either desktop, tablet and your mobile. By taking this course, you can learn Spring technologies anywhere at your own pace and play again and again to grasp every single detail!
Again, we have a huge list of technologies that we are going to cover in this course. Spring is in huge demand these days thanks to Spring Boot and all of its offerings. If you want to jumpstart your career with Spring then join me in this course and take a huge step forward for becoming an amazing Spring Developer!