Join Frank P Moley III for an in-depth discussion in this video What you need to know, part of Spring Boot Essential Training.
- [Presenter] In order to be really successful in this course, there's a few things that you need to know and a few prerequisite tools that you'll need. First and foremost, you need to have a relatively strong skillset in Java. Now I'm going to put a requirement of Java 1.8. But in all reality, we're not going to use much of the newer syntax in 1.8. You definitely can use 1.9, but some of the Spring Boot functionality isn't quite mature enough with 1.9 so I would stick with 1.8. You need to have a working knowledge of the Spring Framework.
Now I don't expect you to be an expert in Spring, but at least understand the basics of configuration and running Spring applications. I've got a couple of courses that are out on Spring, that may help you get up to speed if you need to. I'm also going to ask you to have a basic understanding of Maven. There's going to be times that I'm going to jump to the command line and enter some Maven commands, and I want you to at least understand what I'm doing when I run a clean package or just a Maven clean. I'm also not going to spend a lot of time on the functions of an IDE.
Now I use Intelligent Ultimate Edition from JetBrains. But that's my choice, you can definitely get by with a community edition, or with eclipse or STS. It's all up to you but I do want you to know how to use the IDE. Now as far as the basic prerequisites, I do once again ask that you have Java 1.8 and make sure you have the JDK installed. Maven 3.x is really the minimum supported version for everything that we're doing. If you've got Maven two it's just not going to work.
I do want you to have a modern IDE. Now if you're really daring, and you're really good at VI, go ahead and use it, but you're using it at your own risk. Granted, there are a few times that I'm going to jump into VI to do some very quick edits, you can use any text editor, I'm just real comfortable with VI so I have no problem doing that. I also use a JSON visualizer in Chrome, which is the web browser that I'm going to use for all of these examples. I use JSON viewer, that's my choice, there are several out there on the market, it just makes the JSON a little bit more structured when you're viewing it in a web browser.
I'm going to ask that you install a couple tools and then you can remove these when you're done taking the course. The first is the Spring Boot command-line interface. And I've got a link here that you can go to to understand how to install and it gives you really detailed instructions. Now one of the chapters we're going to take a look at some asynchronous messaging patterns. And we're going to use RabbitMQ for that. Now RabbitMQ can be installed on Windows, Lenux, or Mac, relatively easily, and there's actually installer scripts for most of the modern operating systems.
With a Mac, which is what I'm using, Homebrew has a great install package. You just have to do a couple manual sim links if you're on Sierra or high Sierra. And you're not going to know how to use Rabbit to it's depths, but you are going to have to know how to get it up and running, and the documentation that I've got linked here tells you how to do that, because during that video, we're going to need to have Rabbit up and running so we can push messages and show our listener responding to those messages. Now throughout this course, there's going to be several times that I'm going to jump to the command line to execute and HTTP operation against a web service running that we have just written some code for.
Now I use a tool called HTTPie that is a command line utility and that's how I do all my client site HTTP operations. Now this is a free tool that you can download on your Windows machine, Lenux machine, or Mac like I'm using. But you don't have to use it. Everything I'm doing is actually just executing an HTTP command, and you can use a tool like cURL or you can use any graphical tool like Postman or often even the browser is sufficient to do the same operation that I'm going to do, so it really is up to you which tool you want to use, just know that when you see me go to the command line, and type an HTTP command, that I'm using the HTTPie tool and that's how I'm executing those operations.
And that's about it, once you're ready to go, let's jump in.
- Creating a Spring Boot application
- Configuring a Spring Boot app
- Leveraging profiles
- Packaging and running Spring Boot web apps
- Building a command-line application
- Using Spring Boot starters: Spring Data, Spring Security, and more
- Extending Spring Boot
- Using Spring Boot Actuator to monitor app health and other metrics