I'm trying to start Java web-dev. So far all my time has been spent trying to get spring, spring-boot, maven and gradle to work...

  1. Download and extract Spring Tool Suite (abbr. STS).
  2. Run it by launching the STS binary.
  3. In the menu: File -> New -> Spring Starter Project.
  4. Enter the group, artifact, name, description and package name for your project. You can take a peek at open-source projects to see what all these things represent.
  5. The type you want is "Maven project" (Gradle is more powerful, but as a beginner, it's unlikely that you'll need it. Maven is easier to use and it has a GUI in Eclipse (STS)).
  6. Packaging should be set to "Jar", Java version to 1.8 and the language should be set to "Java".
  7. Click "Next".
  8. Select the Spring Boot version you want. If you want the latest libraries, you can try one of the Spring Boot snapshots, which can be selected using the "Spring Boot Version" field.
  9. Select the libraries you need. For web development you will definitely need "Web" in the "Web" section (this is pretty much Spring MVC). It's likely that you'll be using a relational database, so choose a database driver from the "Database" section. I suggest PostgreSQL for that role. If you want to do server-side templating, you should use a template engine such as Thymeleaf (this is what you'll find in most tutorials). If you are planning on adding user accounts and security, select Spring Security. It's an amazing library that does a lot of plumbing for you. You will also have to decide how you'll interface with your databases. The options are: plain JDBC, Spring Data JPA and jOOQ (I use jOOQ, but I used to use JPA, which I switched away from because it isn't flexible enough) (please note that you'll have to add spring-boot-starter-jooq manually as a Maven dependency and you'll also need the latest Spring Boot snapshot).

  10. Click "Finish".

This should be enough to get you started

/r/java Thread