
From this lecture you will learn:
• How to communicate during this course
• Where to ask questions
• How to ask questions
• Communication channels
From this lecture you will learn:
• Where to find good tests to verify your knowledge
• How to get unlimited access to Learn IT application (only for my students from Udemy)
Why I Created This Bot
The Challenge: From Passive Learning to Real Mastery
The Solution – Learn IT Bot
Inside the Learn IT Bot – Key Features
Adaptive Difficulty & Endless Practice
Live Demo of the Learn IT AI Bot
Why It Matters – From Learning to Real-World Readiness
In this lesson, I’ll show you how my students get exclusive, free, no sign-up access to a one-of-a-kind AI Bot I personally built to help you deeply learn the material, reinforce your knowledge, and gain a real advantage in interviews, real-world work and career growth.
What is Spring
Spring Features
Spring Projects/Modules
Advantages & Disadvantages
Spring Framework Architecture
Inversion of Control
Dependency Injection
Spring IoC container
ApplicationContext and child types
Spring Context
Spring Beans
Scopes of Spring Beans
Spring Expression Language
How to initialize Spring Bean Factory
How to initialize Spring Application Context
Spring IoC containers
BeanFactory VS ApplicationContext
How to work with Spring Beans
Bean ID VS Bean Name
XML Bean Configuration
Annotation-based bean configuration
@Component, @Service, @Controller, @Repository
Class-level bean annotations
Method-level bean annotations
@Bean & @Qualifier Annotations
Scopes of Spring Beans
XML VS Annotation Configuration: Advantages and Disadvantages
Dependency Injection
Constructor injection
Setter injection
Field injection
@Autowired
@Value
Autowiring byName, byType and through the constructor
NoUniqueBeanDefinitionException
@Qualifier
@Primary
Lazy init
How to Inject Collections and Map
@Order
@Lookup
Spring MVC
MVC Design pattern
Front-controller Design Pattern
Dispatcher Servlet
Flow of Execution in Spring MVC
Hello World App in Spring MVC
@RequestMapping
@EnableWebMvc
ViewResolver
WebApplicationInitializer interface
AnnotationConfigWebApplicationContext class
ContextLoaderListener class
Advantages of Spring MVC
Model
Injection of HttpServletRequest
Injection of HttpSession
@RequestParam
Map all parameters into a Map
Map multi-value parameters
@PathVariable
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping
Spring Forms
@ModelAttribute annotation
Bean Validation API
JSR 303
How to set constraints for data values in object
@Valid annotation
How to validate data in object using javax.validation
BindingResult
Validate a Model
Data Binding Error Handling
Exception Handling in Spring MVC
Exception handling approaches
Controller Based Exception Handling
Global Exception Handling with @ControllerAdvice
HandlerExceptionResolver
Defining own Exception in the Spring MVC
@ResponseStatus
How to handle 404
Serve static resources in Spring MVC
XML based configuration to serve static resources
Java based configuration to serve static resources
ResourceHttpRequestHandler & ResourceHandlerRegistry
Serving static resources from the same WAR
Serving static resources from the file system
Serving static resources from multiple location
New Resource Resolvers
PathResourceResolver
EncodedResourceResolver
Chaining of resource resolvers
Spring Security configuration for static resources
What is web filter
What is HandlerInterceptor in Spring MVC
Goals of HandlerInterceptor
Difference between HandlerInterceptor and Filter
WebFilter Demo
Interceptor Demo
When to use Filters and Interceptors
Overview of l10n & i18n
Practical Demo
MessageSource bean
LocaleResolver bean
AcceptHeaderLocaleResolver
FixedLocaleResolver
SessionLocaleResolver
CookieLocaleResolver
LocaleContextHolder
Redirect in Spring MVC
Why do redirect
Redirect with Prefix (absolute and relative path)
Redirect with ModelAndView
RedirectView
MapModel
How to resolve attributes during the redirection
Flash Attributes
Forward prefix
How to set cookies
How to read cookies in Spring MVC
How to work with properties in Spring
@PropertySource
@PropertySources
@Value
In this lesson we are going to review the task. You are going to create online shop with Spring Core and Spring MVC based on the Template provided.
After that I will walk you through my solution and I give you my comments about implementation as we go over it.
Introduction and overview
Authentication
Authorization
Authentication VS Authorization
Technologies that support Spring Security Integration
Advantages
Spring Security Features
Spring Security Modules
High level Spring Security Authentication & Authorization architecture
First Spring Security Project
Spring Security Dependencies
Spring Security Configuration
InMemoryUserDetailsManager bean
PasswordEncoder bean
SecurityFilterChain bean
CSRF
anonymous() VS permitAll()
AuthenticationFailureHandler
LogoutSuccessHandler
Login with the custom login form in Spring Security
Login with the default login form
First Spring Security Project
Spring Security Dependencies
Spring Security Configuration
InMemoryUserDetailsManager bean
PasswordEncoder bean
SecurityFilterChain bean
CSRF
anonymous() VS permitAll()
AuthenticationFailureHandler
LogoutSuccessHandler
Login with the custom login form in Spring Security
Login with the default login form
Remember Me feature in Spring Security
RememberMeConfigurer Overview
Coding exercise with Remember Me
Security at method level
Spring Expression Language
@PreAuthorize
@PostAuthorize
@Secured
@EnableMethodSecurity
Spring Security Architecture
Authentication Filter
Spring Security Context
Authentication Manager
Authentication Provider
User Details Service
Password Encoder
Business need in implementing custom Authentication Provider
Code examples of custom Authentication Provider
In this lesson we are going to review EXAM task about integration of the Spring Security into our Online Shop application.
Also, we are going to review source code of the solution in the video.
Spring Data: Overview
Spring Data Modules
Spring Data JPA: Overview
JPA Repositories
Repository pattern
Spring Data JPA Advantages & Disadvantages
Configuration of the Spring Data JPA
Creation of JPA Repository
JPQL Queries in JPA Repository
Native SQL Queries in JPA Repository
Naming convention for methods in JPA Repository
End-to-end live demo
During the exam task you are going to take template of the multimodule project - online shop, and integrate Spring Data JPA into the persistence module of the application.
JDBC Overview
Why we need Spring JDBC
Problems of JDBC API
Spring Data JDBC VS Spring JDBC
JbdcTemplate
NamedParameterJdbcTemplate
SimpleJdbcInsert
SimpleJdbcCall
Spring JDBC packages overview
Practical code examples
Configuration of dependency for Spring JDBC
Configuration of required beans for Spring JDBC
JdbcTeamplate example
NamedParameterJdbcTemplate example
SimpleJdbcInsert example
SimpleJdbcCall example
Batch update with SqlParameterSourceUtils
RowMapper
During the exam task you are going to take a template of the multimodule project - online shop, and integrate Spring JDBC into the persistence module of the application.
From this course, you can learn Spring Framework for Java Developers. We are going to learn Spring Boot, Spring Core, IoC, DI, Spring MVC, Spring Security, Spring Data, Spring JPA, etc.
There are a lot of other courses on this topic. So, why would you choose exactly this course? Here are just a few reasons:
- Coding examples
To learn to program is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course, you will review multiple practical tasks and coding examples which will help you learn and understand Java better.
- Open source code
We hide nothing from our students! Including the source code for the home task solutions and source code of examples that were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.
You are allowed to use all source code examples for learning purposes. This helps significantly to configure the environment and make tests work, especially in case students didn't work with any testing framework in the past.
- Q&A support
The significant difference between the online and offline learning process is the instructor's availability. If you are in one room with a tutor he always can help you to get understand the specific concept or to help fix your code on your computer.
In this course, we are supporting students with answers to any questions flagged in the Q&A section. In case there will be recurring questions - separate video lessons will be created to show how to address the issue.
So with this course you are not just getting video materials, code exercises, source code, access to the free mobile application without limits (which is still pretty cool, huh? :) ), but you also get tutor support and answers to your questions along with this course.
- Relevant knowledge
After our team investigated other Java courses on Udemy we realized that most of them have nothing in common with real life. The information which is shared there is very old and significantly out of date. For example, the instructor teaches a framework which is not been used already for 15 years. Or instructors do stress on the programming design which is not used anymore at all!
The instructor of this course is a consultant in a top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check the LinkedIn page of the instructor and check skills endorsement. More than 19 thousand people across all over the world (BTW most of them are from the top 100 companies of the world) evaluated the skills of Andrii Piatakha.
With this course, you can be sure that you will spend your time learning the right things from one of the best IT consultants in the world.
- Free mobile App without limits for our students
Knowing Java is one skill. Being able to pass interviews in the company - that is another skill :) Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed applications to practice skills specifically for such purposes.
In this course, we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms)
The instructor of this course comes up with hundreds of tests that are used to test the knowledge of candidates. With this application, you will be well-prepared for the interview.
Also, only for our students - there is no limit on attempts to pass certification. In the course, we will tell you how to set up a special bonus code that will remove restrictions for our students inside the app.
- High concentration of useful material in each lesson
Sometimes you can notice that watching 5 minutes of our lesson is equivalent to watching another 30 minutes lesson.
This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson or time when the program loads) sometimes 10 times as much (sometimes even 20) as the final lesson duration after video editing.
Also, each topic is separated from another. In case some concept will be explained in the next lesson and you don't need to worry about understanding this in the scope of this lesson - the instructor will make an announcement when a specific topic will be covered.
Go and try it yourself! We will appreciate your feedback.
So don't wait! Take a look at the lessons' preview if you still have doubts!
Buy this course today, and you will get all updates for FREE!
For those who successfully passed this training course, or for students who were recognized for asking amazing questions, there is a special offer from the IT-Bulls company! The creator of this course is IT-Bulls company CEO and Founder. We are always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your startup? In this course, you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation!
Hope you enjoy this course! And remember, we appreciate all your feedback! Your feedback will help us to become even better! Your feedback will help us to create to best Java course ever!
See you at the lessons! :)