Building Spring Boot Applications with the Kotlin Programming Language

Video description

See it. Do it. Learn it! Interest in the Kotlin programming language has been soaring. Kotlin’s effortless syntax and embrace of multiple programming styles are now fully supported in Spring Boot! In the video course Kotlin with Spring, seasoned IT trainer Matt Greencroft builds on your Java and Spring knowledge as you level up with Kotlin. This all-encompassing interactive journey gets you coding as you learn with lots of practical exercises and a cool hands-on real world case study: a theater booking system! You’ll be amazed at how much more productive you are when you combine the power of Spring with the flexibility and robustness of Kotlin!


Distributed by Manning Publications

This course was created independently by big data expert Matt Greencroft and is distributed by Manning through our exclusive liveVideo platform.



About the Technology
Kotlin is a modern programming language for the JVM developed by Jetbrains, the makers of the IntelliJ IDE. Besides Java, Kotlin is the only officially supported language for Android development. Fully interoperable with Java, Kotlin boasts a number of enhancements Java just doesn’t have. Say goodbye to repetitive boilerplate and null pointer exceptions and write code that’s expressive, understandable, and safe! What’s more, Kotlin allows for immutable and non-nullable variables, and you’ll be writing less code with fewer classes. Compared to other JVM languages, Kotlin is an easy transition for Java developers. And a smart one!

About the Video
Building Spring Boot Applications with the Kotlin Programming Language teaches you to write clean, concise, easily maintainable Kotlin code using Spring Boot. Watch and learn as Kotlin expert Matt Greencroft explains Kotlin syntax and its automatic benefits. You’ll explore Kotlin features such as immutable variables, null-safety operators, data classes, templates, and top level functions. Then, you’ll discover the design approaches that make the most of the Spring and Kotlin combination, including using Spring Boot’s Hibernate framework and the Thymeleaf template engine.

You’ll dive into functional programming and reflection, and you’ll reinforce your learning with lots of helpful examples. Throughout the course, you’ll incorporate your new skills by building a real world theater booking system! With this value-rich visual learning experience, you’ll be more productive and—happier!—as you confidently create amazing, robust applications with Kotlin!

What's Inside
  • Functional programming with collections
  • Creating immutable and non-nullable variables
  • How Kotlin helps you avoid null pointer exceptions
  • Exception handling in Kotlin, including custom exceptions
  • Using Spring Boot with Kotlin, including Hibernate and Thymeleaf
  • Converting existing Java apps to Kotlin


About the Reader
Perfect for Java programmers with some experience with Spring Boot. No Kotlin experience is required.

About the Author
Matt Greencroft has been working as a professional IT trainer since 2013. His specialties are JavaEE, Android, Hadoop and NoSQL. Previously, he developed applications and websites for his clients in the business and finance sectors, many of which he still maintains.

Quotes
As Kotlin is gaining more and more popularity, it's crucial for anyone who knows Java to expand their horizons. This video course is the perfect doorway into Kotlin.
- Gustavo Gomes, TV App Agency

Table of contents

  1. INTRODUCTION
    1. Introduction, and install Hadoop on your desktop!
    2. What is Kotlin?
    3. Installing IntelliJ
    4. Configuring IntelliJ
  2. WORKING WITH STRINGS
    1. Creating a new project in Kotlin
    2. Variable declaration syntax
    3. Inferring variable types and println
    4. Using String templates
    5. Multiple line strings
  3. OTHER VARIABLE TYPES
    1. Using the Double and determining class types
    2. The Int data type
    3. Other data types
    4. Casting in Java
    5. Casting in Kotlin
    6. Chapter review
  4. NULLABLE VARIABLES
    1. Creating variables that can contain a null value
    2. Methods that work with nullable parameters
    3. The null-safe and non-null asserted operators
    4. The nothing object type
  5. FUNCTIONS
    1. The function syntax and the Unit object
    2. Creating and calling top level functions
    3. Single expression functions
    4. Using named parameters when calling functions
    5. Other aspects of functions in Kotlin
  6. CLASSES
    1. Project structure and packages
    2. The class declaration and class level attributes
    3. Instantiating a class, and accessing the class attributes
    4. Creating a simple constructor
    5. Secondary constructors
    6. Alternative class design
    7. Overriding getters and setters
    8. Functions within a class
    9. Static functions
    10. Data classes
  7. PRACTICAL EXERCISE 1
    1. Explaining the challenge
    2. Solution walkthrough
  8. THE IF EXPRESSION AND OBJECT EQUALITY
    1. The If keyword as an expression
    2. Using if to do a null-safe check
    3. The let function
    4. Object equality and the when expression
  9. RANGES AND LOOPING
    1. The While loop
    2. Using for to loop through a collection
    3. Destructuring with a for loop
    4. Looping with the Range object
  10. COLLECTIONS
    1. Mutable collections with immutable variables
    2. Immutable lists
    3. Mutable lists
    4. Maps and sets
    5. Working with Arrays
  11. PRACTICAL EXERCISE 2
    1. Explaining the challenge
    2. Solution walkthrough
  12. EXCEPTIONS AND TRY CATCH BLOCKS
    1. Exceptions are unchecked
    2. Throwing exceptions
    3. Try as an expression
    4. Use as an expression (try with resources)
  13. TESTING
    1. Using Junit with Kotlin
    2. The Kotlin test assertions
    3. Testing for exceptions
  14. INTERFACES AND EXTENDING CLASSES
    1. Creating and implementing Interfaces
    2. Class inheritance
    3. Creating custom exceptions
    4. Extension functions
  15. JAVA INTEROPERABILITY
    1. Instantiating classes and providing values to non-nullable variables
    2. Using data classes
    3. Using immutable lists
    4. Exception handling
    5. Using static functions
    6. Importing a Kotlin jar into a Java project
  16. GETTING STARTED WITH SPRING BOOT
    1. Creating a project with the Spring Initializer
    2. A hello world controller
    3. Auto restarting an application
    4. Overview of the case study we’ll be working on
    5. Creating views and backing beans
    6. Connecting views to controller functions
    7. Adding services
    8. Posting data to a controller
    9. Dependency injection
    10. Revisiting backing beans
  17. FUNCTIONAL PROGRAMMING
    1. Functional programming overview
    2. Methods that take function parameters - the Java way
    3. Methods that take function parameters - the Kotlin way
    4. Functional programming with lists
    5. Filter and flatmap
    6. Reduce and Fold
    7. Working with Maps
  18. GETTING STARTED WITH HIBERNATE
    1. Adding the Hibernate dependencies
    2. The challenge of creating entities
    3. Persisting data to a database
  19. PRACTICAL EXERCISE 3
    1. Step 1 - explaining the challenge
    2. Solution Walkthrough
    3. Mappings between entities
    4. Upgrading the view
    5. Step 2 - explaining the challenge
    6. Solution walkthrough
    7. Step 3 - explaining the challenge
    8. Solution walkthrough
  20. REFLECTION
    1. The concept of reflection
    2. Inspecting properties and functions
    3. A practical use for reflection
    4. Thank you and goodbye

Product information

  • Title: Building Spring Boot Applications with the Kotlin Programming Language
  • Author(s): Matt Thornfield
  • Release date: April 2019
  • Publisher(s): Manning Publications
  • ISBN: 10000DIHV201803