Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Full Stack App Development with Spring 5 and Angular: 3-in-1
Rating: 4.1 out of 5(23 ratings)
168 students

Full Stack App Development with Spring 5 and Angular: 3-in-1

Build amazingly beautiful apps combining the power of two hottest frameworks Angular 6 with Spring 5!
Last updated 11/2018
English

What you'll learn

  • Learn some of the best practices when developing applications with the Spring framework
  • Get to know the advanced features of Spring Boot in order to effectively develop and monitor applications
  • Explore the fundamentals of TypeScript and object-oriented programming
  • Know how to use Angular built-in directives and build reusable components and custom directives
  • Create template-driven forms with Angular
  • Test your code with JUnit 5.0
  • Use Spring WebFlux and various other features
  • Build applications using Spring 5 for backend and Angular 6 for frontend development

Course content

3 sections82 lectures8h 31m total length
  • The Course Overview2:39

    This video gives an overview of the entire course.

  • Spring Framework4:18

    Spring Framework is used to wire enterprise Java applications. The main aim of Spring Framework is to take care of all the technical plumbing that is needed in order to connect the different parts of an application.

    • Important reasons behind the popularity of Spring Framework

    • Simple example of executing a query using prepared statement

  • Spring Modules3:28

    The modularity of Spring Framework is one of the most important reasons for its widespread use. Spring Framework is highly modular with more than 20 different modules having clearly defined boundaries. We will start with discussing the Spring Core Container to other modules grouped by the application layer they are typically used in.

    • Provide great Integration with popular web frameworks

    • Cross-cutting concerns

    • Provide declarative transaction management for POJO and other classes

  • Spring Projects4:47

    Spring Projects explore integration and solutions to other problems in the enterprise space deployment, Cloud, Big Data, Batch, and Security, among others.

    • Provide mechanisms for externalizing configuration properties that can change from one environment to another

    • Spring Cloud provides solutions for common patterns in distributed systems

    • Spring Data provides a consistent data-access approach to all different kinds of databases

  • New Features in Spring Framework 5.04:20

    Spring Framework 5.0 is the first major upgrade in Spring Framework, almost four years after Spring Framework 4.0. In this time frame, one of the major developments has been the evolution of the Spring Boot project.

    • Important baseline Java EE 7 specifications for Spring Framework 5.0

    • Reactive programming provides an alternate style of programming focused on building applications that react to events

    • Functional web framework provides features to define endpoints using functional programming style

  • Understanding Dependency Injection4:57

    In this video, we will look at an example to understand dependency injection. We will define a simple business service that talks to a data service. We will make the code testable and see how proper use of DI makes the code testable.

    • Explore the XML and Java configuration options that Spring provides

    • Explore Spring unit testing options

    • Define real unit tests using mocking

  • The Spring IoC Container2:46

    The Spring IoC container creates the beans and wires them together according to the configuration setup created by the application developer. In this video, we will define what beans need to be created and how to wire them together.

    • Create beans for the specific classes

    • Specify a @Autowired annotation on the instance variable of the DataService interface

  • Creating a Spring IoC Container3:26

    In this video, we will use an application context to create a Spring IoC container. We can have either a Java configuration or an XML configuration for an application context. Let's start with using a Java application configuration.

    • Java configuration for the application context

    • Launch the application context with Java and XML configuration

  • Defining JUnit Using the Spring Context2:05

    In this video, we will provide the location of the context configuration. We will use the XML configuration that we created earlier.

    • Create a mock of DataService and autowire the mock into BusinessServiceImpl

  • Unit Testing with Mocks2:27

    In this video, we will explore the second option of using a mock for unit testing.

    • Use the most popular mocking framework, Mockito

    • Create a mock for DataService

    • Stub the mock service to provide the data

  • Dependency Injection Types2:16

    In this video, we will learn about the setter injection and the constructor injection.

    • Use the DataService for setter injection

    • Use a constructor for injecting in DataService

  • The @Autowired Annotation in Depth2:11

    When @Autowired is used on a dependency, the application context searches for a matching dependency. By default, all dependencies that are autowired are required. In this video, we will use two types of annotations.

    • Use the @Primary annotation

    • Use @Qualifier to further qualify autowiring

    • Explore contexts and dependency injection

  • Java Web Application Architecture3:15

    In this video, we will discuss the different architectural approaches to developing Java web applications and see where Spring MVC fits in.

    • Model 1 architecture

    • Model 2 architecture

    • Model 2 Front controller architecture

  • Creating a Few Simple Web Flows Using Spring MVC19:10

    In this video, we will create six typical web application flows using Spring MVC.

    • Add dependency for Spring MVC

    • Add DispatcherServlet to web.xml

    • Create Spring context

  • Important Concepts Behind Spring MVC3:54

    In this video, we will understand the important concepts behind Spring MVC.

    • Request Mapping methods - supported method arguments

    • Request Mapping methods - supported return types

  • Handler Mappings and Interceptors4:29

    The mapping between a URL and a Controller was expressed using something called a handler mapping. HandlerInterceptors can be used to intercept requests to handlers.

    • Define the HandlerInterceptor

    • Map the HandlerInterceptor to the specific handlers to be intercepted

    • Mapping HandlerInterceptor to handlers

  • Spring MVC - Advanced Features6:51

    In this video, we will discuss advanced features related to Spring MVC. Also, we will look at a couple of example implementations of exception handling.

    • Common exception handling across all controllers

    • Specific exception handling for a Controller

  • Spring Security4:42

    Spring Security provides a comprehensive security solution for Java EE enterprise applications. While providing great support to Spring-based applications, it can be integrated with other frameworks as well. In this video, we will look into a simple example to enable Spring Security on a simple web application.

    • Add Spring Security dependency

    • Configure the interception of all requests and Configure Spring Security

    • dd the logout functionality

  • Kotlin Versus Java9:36

    In this video, Kotlin aims to address some of the important issues in the Java language and provide a concise alternative.

    • Create a number of bean classes to hold data

  • Creating a Kotlin Project in Eclipse2:32

    In this video, we will install the Kotlin plugin in Eclipse.

    • Create a Kotlin class

    • Create a main function

    • Run a Kotlin class

  • Creating a Spring Boot Project Using Kotlin6:20

    In this video, we will use Spring Initializr to initialize a Kotlin project.

    • Dependencies and plugins

    • Spring Boot application class

    • Spring Boot application test class

  • Test your Knowledge

Requirements

  • Basic knowledge of Java and JavaScript is required.

Description

The world of app development is fast paced, where app trends come and go. This has pushed for a change in the way we build our apps, including the tools we use. We are no longer capable of pushing out dynamic and fluid apps without using frameworks! Spring 5 is a functional web framework for back-end development while Angular is one of the most modern, performance-efficient and powerful frontend frameworks you can learn as of today. It allows you to build great web apps which offer awesome user experiences! Combination of the two will enable you to build scalable and secure web applications. If you want build end-to-end modern web applications using Spring 5 and Angular, then this Learning Path is for you.

This Spring + Angular learning path will go over basic concepts of Angular including the theory behind it, why it's useful, the standard file structure, TypeScript, the CLI, components, and so on. You will then delve into Spring 5 and learn how to integrate it into your Angular project. You will also learn how to troubleshoot common compile-time and run-time errors and how to write clean and maintainable code. To put your learnings into practice, you will be developing a couple of basic server-side search and shopping applications with Angular and Spring 5.

This training program includes 3 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Getting Started with Spring 5.0, starts off with an introduction to Spring 5 and its latest features. You will then learn how to build an application using Spring MVC. You will then learn the advanced features of Spring Boot with the help of examples. You will also be introduced to a JVM language, Kotlin.

In the second course, Learn Angular in 3 Hours, you will learn the essential Angular concepts. You will learn how to build frontend applications using Angular.

The third course, Application Development with Spring 5.0 and Angular 6, starts off by exploring the features of Spring 5 and Angular 6. You will learn to build a couple of basic server-side search and shopping applications using the various features of Spring 5 and Angular 6.

By the end of this learning path, you will have all the knowledge and the experience to start building your own applications from scratch.

Meet Your Expert(s):

We have the best work of the following esteemed author(s) to ensure that your learning journey is smooth:

  • Ranga Rao Karanam is a programmer, trainer, and architect. His areas of interest include cloud native applications, microservices, evolutionary design, high-quality code, DevOps, BDD, TDD, and refactoring. He loves consulting for start-ups on developing scalable, component-based cloud native applications, and following modern development practices such as BDD, continuous delivery, and DevOps. He loves the freedom the Spring framework brings to developing enterprise Java applications.


  • Rachid Al Khayat is born and raised in Damascus, Syria, and settled in France since 2008. He did his master and Ph.D. degrees in computer engineering in USA and France respectively. Besides his interest in computer and electrical engineering, he is passionate about web development, he works as Full Stack developer for SII Groupe (French IT service company). He has more than four years of experience in ES5, ES6, AngularJs, Angular 2+, and NativeScript. Last summer he was nominated as NativeScript Champions. In his spare time, Rachid enjoys bicycling, photographing and reading Self-help and Philosophy books.


  • Alejandro Imass is a Senior Engineer and Toronto Team Leader for Samsung Pay Inc. (a subsidiary of Samsung Electronics America, Inc.). Alejandro is an IT professional and entrepreneur with over twenty-five years of experience leading many high-profile projects in different sectors including Telecommunications, Food & Beverage, Energy, Government, and Aviation in global companies such as BP, Exxon-Mobil, Chevron, PDVSA, Conoco-Phillips, Genencor, Danisco, BAT, AGA, and SAP. He has international recognition in systems integration, control systems, and ERP and has participated in committees such as ISA. He started his career in Electronic Engineering and later Systems Engineering, specializing in large-scale industrial and ERP systems in materials, reliability, and asset management. Alejandro is a specialist, educator, and evangelist in open source technologies with multiple certifications in this field by the Institute for Superior Studies and Technological Research (ISEIT) in Venezuela(he is also a professor there). Prior to LoopPay, he founded Yabarana Corporation which develops large-scale, highly complex Unix-based solutions for a wide range of industries. Before Yabarana, Alejandro was a partner at MPR Venezuela, an IBM premium VAR for EAM/ITSM solutions in Latin America, director of business development for Venezuela and Colombia, and account manager for high-profile companies in the region such as Empresas Polar, BP, ExxonMobil, Chevron, and Alpina.


  • Alberto Di Martino is a software developer with Samsung Pay and has been working with Kotlin since version 1.0. He is an expert with Kotlin when it comes to knowledge and expertise in this technology. He is keen to share his rich experience through this course.

Who this course is for:

  • This learning path is for developers who wish to create their own web applications with Spring 5 and Angular.