Spring Framework for Java Developers: Practical Guide
- Description
- Curriculum
- FAQ
- Reviews
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! 🙂
-
1Communication planVideo lesson
From this lecture you will learn:
• How to communicate during this course• Where to ask questions
• How to ask questions
• Communication channels
-
2Unlimited access to 'Learn IT' application for studentsVideo lesson
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)
-
3Tips to Improve Your Course Taking ExperienceText lesson
-
4Additional Free Learning Materials to Use During the CourseText lesson
-
5Spring Framework: General OverviewVideo lesson
What is Spring
Spring Features
Spring Projects/Modules
Advantages & Disadvantages
-
6Spring Architecture, Inversion of Control, Dependency Injection & Spring BeansVideo lesson
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
-
7IoC, Beans Configuration, XML and Annotations - PracticeVideo lesson
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
-
8Spring Dependency Injection: PracticeVideo lesson
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
-
9Spring MVC: Overview & First ProjectVideo lesson
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
-
10Model, RequestParam & PathVariableVideo lesson
Model
Injection of HttpServletRequest
Injection of HttpSession
@RequestParam
Map all parameters into a Map
Map multi-value parameters
@PathVariable
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping
-
11Spring MVC Forms, @ModelAttribute, Bean ValidationVideo lesson
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
-
12Exception Handling in Spring MVCVideo lesson
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
-
13Serving Static Resources in Spring MVCVideo lesson
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
-
14WebFilters & HandlerInterceptor in Spring MVCVideo lesson
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
-
15L10N & I18N in Spring MVCVideo lesson
Overview of l10n & i18n
Practical Demo
MessageSource bean
LocaleResolver bean
AcceptHeaderLocaleResolver
FixedLocaleResolver
SessionLocaleResolver
CookieLocaleResolver
LocaleContextHolder
-
16Redirect & Forward in Spring MVCVideo lesson
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
-
17Spring API - Work with Cookies in Spring MVC & Work with PropertiesVideo lesson
How to set cookies
How to read cookies in Spring MVC
How to work with properties in Spring
@PropertySource
@PropertySources
@Value
-
19Spring Security IntroductionVideo lesson
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
-
20First Login Form & First Security Filter ConfigurationVideo lesson
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
-
21Login with Database Users, Roles & PrivilegesVideo lesson
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
-
22Remember Me & Methods SecurityVideo lesson
Remember Me feature in Spring Security
RememberMeConfigurer Overview
Coding exercise with Remember Me
Security at method level
Spring Expression Language
@PreAuthorize
@PostAuthorize
@Secured
@EnableMethodSecurity
-
23Spring Security Architecture & Authentication ProviderVideo lesson
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
-
25Spring Data & Spring Data JPA: OverviewVideo lesson
Spring Data: Overview
Spring Data Modules
Spring Data JPA: Overview
JPA Repositories
Repository pattern
Spring Data JPA Advantages & Disadvantages
-
26Spring Data JPA: PracticeVideo lesson
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
-
28Spring JDBC: OverviewVideo lesson
JDBC Overview
Why we need Spring JDBC
Problems of JDBC API
Spring Data JDBC VS Spring JDBC
JbdcTemplate
NamedParameterJdbcTemplate
SimpleJdbcInsert
SimpleJdbcCall
-
29Spring JDBC: PracticeVideo lesson
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
-
31Aspect Oriented ProgrammingVideo lesson
AOP
Cross-cutting concern
Aspect
Why we need AOP
Where to use AOP
Examples of Aspect Oriented Programming
AOP Implementations
Key Terms and Key AOP Concepts
Joinpoint
Pointcut
Advice
Introduction
Target Object
Interceptor
AOP Proxy
Weaving
Advantages and Disadvantages of AOP
-
32Spring AOP with AspectJ: PracticeVideo lesson
Review of required dependencies
Configuration of aspect
Configuration of pointcuts
Pointcut designator
Configuration of advices
@EnableAspectJAutoProxy
Coding examples and live demo
-
33REST Architecture: Overview and Key PrinciplesVideo lesson
Definition of REST
REST API
REST Principles/Constraints
Client-server communication
Stateless communication
Caching
Uniform interface
Layered system
Code on demand
Resource
Resource Methods
REST VS HTTP
-
34Naming Convention for RESTful ServicesVideo lesson
Why it is important to follow guidelines?
Use nouns to represent resources, not verbs
Use pluralized nouns for resources
Use hyphens and lowercase
Use forward slashes for hierarchy but not trailing forward slash
Avoid using file extensions
API Versioning
Use query parameters
Punctuation for list
Intuitive names, no jargon
No abridging
Avoid using special characters
Keep API consistent
-
35RESTful Service Implementation with Spring MVCVideo lesson
Configure required dependencies
Creation of the REST Web Service
@RestController VS @Controller
@ResponseBody
@RequestBody
@PathVariable
@RequestParam
@ResponseStatus
@ResopnseEntity
Read HTTP Headers in REST Controller
@RequestHeader
-
36Review of tools for API testing & Postman InstallationVideo lesson
Tools for API testing: Overview
SOAP
Comparative analysis of Postman, Fiddler and Wireshark
Postman
Key components of Postman
Postman Desktop VS Web Version
Postman installation
-
37API Testing with PostmanVideo lesson
Postman Interface Review
Import/Export collections
Create new collections
Sending requests with different HTTP methods
Reading response in Postman
Sending and reading custom headers
Testing of RESTful service
CRUD Operations with resource using REST API
Difference between form-data and x-www-form-urlencoded
-
38Spring Boot: IntroductionVideo lesson
Where start learning
Spring Framework VS Spring Boot
What is Spring Boot
Features of Spring Boot
Opinionated development approach
When to use Spring Boot
When not to use Spring Boot
Advantages & Disadvantages
-
39The First Spring Boot ProjectVideo lesson
Spring Initializr Web Tool
Spring Boot project generation
Spring Tools for Eclipse IDE
Simple MVC controller in Spring Boot
Practical exercise
-
40Spring Boot StartersVideo lesson
What are starters
Why do we need starters
Advantages of using starters
List of spring boot starters
Practical exercises
How to add spring boot starter
Web starter
REST API Development in Spring Boot
Test starter
Data JPA Starter
Configuration of H2 Database in Spring Boot
Configuration of MySQL Database in Spring Boot
Security starter
-
41Spring Boot Configurations & Application PropertiesVideo lesson
Application properties: Overview
Precedence order of properties
Overriding properties
Default Spring Boot properties
List of Spring Boot properties
Practical examples
Changing the port number
SSL/TLS configuration in Spring Boot
Generation of self-signed certificate for TLS
Changing of context path of the application
Configuration of logging level
@ConfigurationProperties annotation
-
42Spring Boot Actuator - Monitoring ToolsVideo lesson
What is Spring Boot Actuator
JMX Beans
Features and benefits of Spring Boot Actuator
Predefined endpoints
Adding dependency for Spring Boot Starter Actuator
How to expose all available endpoints
How to exclude specific endpoints
Change base path
Fetch application metrics
Best practices of working with Actuator
-
47Intro to the OpenAI SectionText lesson
-
48OpenAI: Basic ConceptsVideo lesson
What is OpenAI API
What is ChatGPT
OpenAI VS ChatGPT
Key Terms and Concepts in OpenAI API
Prompt
Tokens
Models
Review of key models
GPT-4 Model
GPT-3.5 Model
DALL·E Model
Whisper Model
Embeddings
Moderation Model
GPT-3 Model
Point·E Model
Jukebox Model
CLIP Model
Codex Model
-
49OpenAI API: Create & Manage Personal AccountVideo lesson
Account creation at OpenAI
API Reference & Documentation
Playground Overview
Manage account settings
Usage Limits
Pricing
Understanding the importance of a "context"
Configuration of Billing
Soft & Hard billing limits
Rate limits
RPM & TPM
How to invite members into your organization
Creation of secret API key
What is model fine-tuning
Service-status
-
50ChatGPT: Chat APIVideo lesson
Chat VS Completions API
When to use Chat API
When to use Completions API
Overview of Chat API
Model Endpoint Compatibility
Roles: System, User, Assistant, Function
What “temperature” to use
Detailed review of Chat API attributes
model attribute
messages attribute (incl. role, name, content, function_call)
Temperature attribute
top_p attribute
n attribute
stream attribute
max_tokens attribute
presnece_penalty attribute
frequency_penalty attribute
logit_bias attribute
user attribute
-
51Send First Request to GPT API & Parse ResponseVideo lesson
Authentication & Authorization in OpenAI API
Selecting model for request
Send request to OpenAI API GPT model from Postman
Deprecations
Parsing GPT response
“id” attribute
“object” attribute
“created” attribute
“model” attribute
“usage” attribute
“choices” attribute
“message” attribute
“finish_reason” attribute
-
52First Web Application with ChatGPTVideo lesson
Select programming language
Overview of official libraries for OpenAI API
Community libraries for OpenAI API
Create the first Web Application for ChatGPT Integration
Review of the Application’s Architecture
-
53Function calling in ChatGPTVideo lesson
What is function calling
Business need/Review of use cases
Function calling algorithm
OpenAI Chat API review
function_call: “auto”
function_call: “prompt”
function_call: “name”
function_call: “none”
Request for a function call in GPT Response
Code examples review
Live demo
-
54GPT Best PracticesVideo lesson
Strategy: Write clear instructions
Tactic: Include details in your query to get more relevant answers
Tactic: Ask the model to adopt a persona
Tactic: Use delimiters to clearly indicate distinct parts of the input
Tactic: Specify the steps required to complete a task
Tactic: Provide examples
Tactic: Specify the desired length of the output
Strategy: Provide reference text
Tactic: Instruct the model to answer using a reference text
Tactic: Instruct the model to answer with citations from a reference text
Strategy: Split complex tasks into simpler subtasks
Tactic: Use intent classification to identify the most relevant instructions for a user query
Tactic: For dialogue applications that require very long conversations, summarize or filter previous dialogue
Tactic: Summarize long documents piecewise and construct a full summary recursively
Strategy: Give GPT time to "think"
Tactic: Instruct the model to work out its own solution before rushing to a conclusion
Tactic: Use inner monologue or a sequence of queries to hide the model's reasoning process
Tactic: Ask the model if it missed anything on previous passes
Strategy: Use external tools
Tactic: Use embeddings-based search to implement efficient knowledge retrieval
Tactic: Use code execution to perform more accurate calculations or call external APIs
Tactic: Give the model access to specific functions
Strategy: Test changes systematically
Tactic: Evaluate model outputs with reference to gold-standard answers
-
56Create Slack Application, Configuration of Incoming & Outgoing WebhooksVideo lesson
What is slack
Slack Installation
Create an account in Slack
Create a workspace in Slack
Create a channel in Slack
Create an Application in Slack
Creation of app from scratch
Creation of app from an app manifest
Incoming and Outgoing Webhooks
Events API in Slack
Configure outgoing and incoming webhooks in Slack
-
57Connect GPT to the SlackVideo lesson
Architecture overview
Review of code examples
How to add the app to a channel
Slack event payload review
Slack Java SDK
Overview of SDK for other programming languages
Scopes in Slack
Configuration of required scopes for the app
Set up app picture
-
58Context Management in Web App to Integrate with GPTVideo lesson
How to manage the context during the integration with GPT
Code examples review
How to limit the context length
How to manage the context of the Slack Team
Remove all messages from a channel
-
59The Role of Jira in our Web Application | Why this section is needed?Text lesson
-
60First Project in Jira CloudVideo lesson
What is Jira
Jira Editions & Deployment Options
Advantages of Jira Cloud
Jira analogs & competitors
Create an account in Atlassian
Create Jira Project
Kanban Template VS Scrum Template
Jira Kanban Board overview
Jira project settings overview
How to add issue types to the project
How to add fields to issue type
Create fake data in the project
-
61Jira APIVideo lesson
Jira API Review
Jira API Versions
Authentication & Authorization in Jira API
What is Forge App in Atlassian
What is Connect App in Atlassian
JWT
3LO
Create API Token for Atlassian Account
Encrypt credentials in Base 64 encoding
Jira API calls via Postman
Jira API calls from web app
Jira API documentation overview
-
62GPT + Slack + Jira Integration: Work with Jira DatasourceVideo lesson
How to integrate Jira API with GPT, Slack and Web Application
Connect Jira as a separate datasource
Read the required context from the Jira
Function calling implementation to fetch required Jira items
Demo of real-life application
Web Application architecture overview
Best practices
-
63Generate Tickets in Jira & Send Email from Slack via Chat InterfaceVideo lesson
Generate work item description with the help of ChatGPT
Create work item in Jira using chat interface
Assign team member for Jira ticket directly from slack
Set the due date for Jira work item from Slack
Generate an email
Send an email using email address using chat interface
Send an email using the name of the person using chat interface
External Links May Contain Affiliate Links read more