Z kursu: Learning Spring with Spring Boot

What you should know

- [Instructor] In order to be truly successful in this course, there are a few prerequisites that you will need in order to complete all of the operations throughout this course. First and foremost, with the Spring Framework, you can operate on several different JVM languages, but for the purpose of this course, we are going to use Java. I'm going to have JDK 17 installed. Now you can do this on earlier versions of Java, but I'm going to use the latest and greatest that's available to me today, which is 17.01. Now you're going to need some basic language knowledge of Java itself. We won't get into any of the advanced concepts of the language or any of the new functionality with JDK 17. So if you've used 11 or 14, you should be fine. But the reality is you do need to know Java, because this course is focused on Spring and not on Java itself. I'm going to make the assumption as we're going through examples that you understand the Java context behind the scenes and I'm going to focus my time working on Spring itself. Now a reminder, the code that we are creating in this course is demo code. It is not production code. As such, you may find times where I may do something that doesn't necessarily look the most performant, but that's because I'm trying to focus on Spring and not Java. And to be honest, it doesn't really matter for demo code. When you're writing production code, things like performance and operations matter a lot more than they do in a learning setting. But ultimately, as long as you have a JDK installed that is greater than 11, you should be successful in this course, assuming you have that base knowledge. Now, the second tool that you're going to need to have installed on your machine is Maven. Now, Spring supports both Maven and Gradle but for the purposes of this course, we're going to use Maven mainly because I'm more familiar with it and I feel that more developers in the Java world are. I'm going to ask you to install the latest version of Maven on your machine. Now it's true that you don't technically need to have Maven installed when you're using Spring Boot. But many times I'm going to drop into the command line and do operations from the command line that are going to expect Maven. So if you want to follow along, you need to have it installed on your machine or else you're going to be relying on the executables that come with the Spring boot download to do those Maven operations. When it comes to installing Maven, you're going to follow the OS specific instructions from Apache, and they're very good when it comes to installing Maven on your machine and setting up any appropriate environment variables. Now, the next tool that you're going to need in order to be successful in this course is access to a Postgres database. Now for this, I'm going to be using Docker and I will be providing you a scripts that will start up the Docker image as well as load the database. Docker is not a requirement. I'm using Docker because I have students with many different operating systems and many different levels of understanding. And Docker gives me a clean and easy way for everyone to be using the same exact database on their machine, regardless of where it is. That being said, if you don't want to deal with Docker, you are free to use Postgres in many different ways. There are vendor installation instructions to install Postgres on your machine, as well as Docker if you don't already have it running. There are those native install operations for Postgres. So that is definitely an option. There's also people who have access to a remote instance of Postgres that their company may allow them to use, or they have access to a cloud-based Postgres database through AWS or GCP or Azure. And those all will work fine. All that matters here is that you have access on your machine in some way, shape or form to a Postgres database, via a local, via in Docker, or via the cloud. Now, finally, I want to talk about an IDE. And while an IDE is definitely a personal suggestion that you have, the reality is you don't need to have an IDE for this course. It will make your life easier. The important thing though is if you are going to use an IDE, any IDE that supports Java will work. I'm going to be using IntelliJ Ultimate Edition because those are the tools that I use every day in my job and they're what I'm more comfortable with. By no means do you have to use the same IDE that I am using. Any quality Java IDE will have Spring focus plugins, whether it's Eclipse or anything else. You are definitely encouraged to use those plugins in this course. I'm going to be using the ones that come native to IntelliJ Ultimate Edition. As I said, I'm going to be using the JetBrains IntelliJ Ultimate Edition, but there is a community edition that doesn't have as robust plugins, but STS, Eclipse are all free and all readily available. The most important thing about an IDE is that you are comfortable with it. That is far more important than the branding of the IDE itself. Whenever you are writing software, your IDE is your toolbox. That is where you do all of your work. It is far more important that you are comfortable in the tool you are using than try to mimic exactly what I am doing. I will use shortcuts in my IDE. Those shortcuts exist in some way, shape or form in every single IDE that exists today. So again, don't get tied up as much on what I'm doing with the tool, learn how to do it in the tool that you are most comfortable with.

Spis treści