Explore what you need to know to be successful in this course.
- [Instructor] In order to be successful in this course, there's a few tools and a few things that you're gonna need to know in order to move forward. Let's start with the language constructs. Obviously, you need to know some basics about Spring. If you need a refresher, there are several courses in our library that will get you up to speed on the Spring Framework itself. I recommend you start with something like Learning Spring with Spring Boot or Spring: Framework in Depth. You also need to be able to use Java.
For this course, we're gonna use Java 8, but you could definitely use 9 or 10, or 11 once it comes out. Nothing should be too crazy, based on the language, however the framework at the time needs to support it. So if in doubt, roll back to Java 8 in Spring Boot 2.0. Now, if you do choose to use Java 9 or 10 or 11, there's a few things that you may run into, and I highly encourage you to work through those as they occur. Some of things you may experience are the fact that the J2EE libraries are no longer included in the JDK, so things like JAX bean may not be there.
You also may run into some Maven issues with things like Surefire. None of them are impossible to solve, but you will have to work through them, if you choose not to use Java 8. You're also gonna need some basic understandings of how Maven works, specifically with POM.XML files. I will provide you enough information to use it, but I am expecting you to at least understand what's going on and how it's doing dependency management. Now we're also gonna be working a little bit with web templates, based on the Thymeleaf pattern. In order to be successful in those web templates, you do need to know a little bit of basics around HTML.
You also should understand Thymeleaf and understand how it works and operates. And I'm gonna be using Bootstrap for all of the CSS on the page. You don't have to be an expert in Bootstrap, but if you wanna know what I'm doing and why I'm breaking the pages up the way I am, it might be good for you to go learn a little bit about Bootstrap itself. Now there's a few tools that I use that I'm gonna expect you to at least understand how to use an equivalent tool or use these exact tools that I'm using. The first is my IDE. Now, I use IntelliJ Ultimate Edition.
If you use the Community Edition, there's a few features you won't have, such as the Run Dashboard. But that's okay, you can still run the applications using a traditional run configuration. I just have a little bit nicer way of doing that with Spring Boot applications. I also use a command line utility, called HTTPie, in order to make web traffic easier in the command line. Now, if you don't wanna install this on your operating system, you can definitely use cURL or wget with appropriate switches.
But I'm gonna expect you to know how to do that difference. If you wanna follow along exactly how I'm doing it, download this tool. It is a really nice utility for making web requests from the command line. I also am gonna be using Chrome from Google. And I have a plugin in there called JSONView. Now there's only a couple points where I actually load JSON, but if you wanna do it in the same way, I highly recommend you get a tool like JSONView to format your JSON and make it readable in the web browser.
And, with that, we should be good to go.
- Authentication vs. authorization
- Implementing in-memory and JDBC authentication
- Form-based authentication
- Building login and logout pages
- Configuring LDAP authentication
- Leveraging OAuth 2
- WebFlux basic security