Try Heroku as its very easy to setup any kind of project - Spring Boot, NodeJs, etc. They have extensive guides on how to setup anything.
Its a good place and quite cheap to try out everything in your project. Later if you feel its worth it, then you can upgrade to higher capacity plans. I find Heroku good because you do not have to be a security expert and do things like shutting down certain ports, setting up a firewall, etc. Heroku does all that for you and you just use it like your local server where your focus remains on just deploying your app and continue working on building the business logic of your app.
If you are confident about securing your own server and taking care of things like setting up root access, setting up admin users, setting up firewalls, etc then try Digital Ocean
Digital Ocean (DO) allows you complete freedom to configure your server any way that you want. Its like having a server set up for you in the cloud and you need to do everything to set it up and host your app.
I have used both and found that both are good. Just that DO requires you to do a lot more than just hosting your war/executable jar file.
For me, seeing how things actually work under the hood helps. This open source tool visualizes how the Spring framework interacts with your code (i.e. based on annotations):