Najprostszy Sposób, Żeby Rozpocząć Nowy Projekt w Springu

Photo by Stanislav Kondratiev on Unsplash

Spring to najpopularniejszy obecnie framework służący do budowania aplikacji w Javie. Oferty pracy niemal zawsze wymieniają go w wymaganiach. Ale na początku zawsze musi być ten pierwszy krok – czyli wystartowanie nowego projektu. Jak to zrobić? Zapraszam do środka!

Jeśli chcesz rozpocząć nowy projekt masz dwa wyjścia:

  1. ręcznie tworzyć nowy projekt Javowy w twoim IDE i dodawać odpowiednie zależności do Springa
  2. wejść na stronę start.spring.io i mieć to z głowy 😉

Jesteś wygodny, więc wchodzisz na start.spring.io i na początek wybierasz następujące opcje:

  • project: Gradle Project
  • language: Java
  • Spring Boot: 2.1.6
  • Project Metadata:
    • group: com.darek1024
    • artifact: myapp
    • Options
      • Packaging: Jar
      • Java: 12

I to wszystko. Klikasz Generate the project i paczka z nowym projektem Springowym już ląduje na Twoim komputerze.

Rozpakowujesz otrzymanego zipa i odpalasz:

./gradlew bootRun

W tym momencie do projektu ściągane są wszystkie potrzebne zależności. Po chwili twoim oczom powinno pojawić się następujące wyjście z programu:

➜  myapp git:(master) ✗ ./gradlew bootRun
Using gradle at '/Users/darek/git/myapp/gradlew' to run buildfile '/Users/darek/git/myapp/build.gradle':

Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details

> Task :bootRun

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.6.RELEASE)

2019-07-03 06:51:50.345  INFO 93094 --- [           main] com.darek1024.myapp.MyAppApplication   : Starting myappApplication on MacBook-Pro-Dariusz.local with PID 93094 (/Users/darek/git/myapp/build/classes/java/main started by darek in /Users/darek/git/myapp)
2019-07-03 06:51:50.358  INFO 93094 --- [           main] com.darek1024.myapp.MyAppApplication   : No active profile set, falling back to default profiles: default
2019-07-03 06:51:51.239  INFO 93094 --- [           main] com.darek1024.myapp.MyAppApplication   : Started myappApplication in 1.402 seconds (JVM running for 1.891)

BUILD SUCCESSFUL in 13s
3 actionable tasks: 3 executed

W ten sposób uruchomiłeś pierwszy projekt w Springu.

Tak powinna wyglądać struktura plików w projekcie:

➜  myapp git:(master) tree  
.
├── HELP.md
├── build
│   ├── classes
│   │   └── java
│   │       └── main
│   │           └── com
│   │               └── darek1024
│   │                   └── myapp
│   │                       └── MyAppApplication.class
│   ├── generated
│   │   └── sources
│   │       └── annotationProcessor
│   │           └── java
│   │               └── main
│   ├── resources
│   │   └── main
│   │       └── application.properties
│   └── tmp
│       └── compileJava
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
├── myapp.iml
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── darek1024
    │   │           └── myapp
    │   │               └── MyAppApplication.java
    │   └── resources
    │       └── application.properties
    └── test
        └── java
            └── com
                └── darek1024
                    └── myapp
                        └── MyAppApplicationTests.java

Wypiszmy jeszcze standardowe Hello, World by sprawdzić jak całość ze sobą działa.
W tym celu edytuj plik MyAppApplication.java i dodaj beana implementującego interfejs CommandLineRunner.

@SpringBootApplication
public class myappApplication {

    public static void main(String[] args) {
        SpringApplication.run(myappApplication.class, args);
    }

    @Bean
    public CommandLineRunner commandLineRunner() {
        return new CommandLineRunner() {
            @Override
            public void run(String... args) throws Exception {
                System.out.println("Hello, World!");
            }
        };
    }

}

Uruchom projekt ponownie i Twoim oczom powinien pokazać się ulubiony napis programistów 😉

Jeśli chcesz, na start.spring.io możesz już od razu dodawać potrzebne zależności (dependencies) do Twojego projektu, ale równie dobrze możesz zacząć z minimalnym zestawem a potem dodawać kolejne elementy w ramach potrzeb, gdy Twój projekt będzie się rozwijał.

To wszystko w tej krótkiej lekcji. W kolejnych będę odkrywał przed Tobą następne elementy najpopularniejszego frameworka w świecie Javy.

Author: Dariusz Mydlarz

Cześć, nazywam się Dariusz Mydlarz i od 2012 pracuję jako programista. Tworzę w ekosystemie Javy i uwielbiam systemy backendowe. Chcę w tym miejscu pomagać Ci stawać się lepszym programista. Jeśli mogę Ci jakoś pomoc, po prostu napisz do mnie.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *