Quantcast
Channel: Thorsten Maier – techscouting through the java news
Viewing all articles
Browse latest Browse all 44

Spring Boot – Getting started

$
0
0

Im April 2014 wurde die Version 1.0.0 von Spring Boot veröffentlicht. Mittlerweile sind wir bei Version 1.1.4 angekommen. Das Projekt verspricht eine noch schnellere Entwicklung von Anwendungen mit Spring:

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that can you can “just run”.

Mit Spring Roo und Grails gab es zwar bereits zuvor zwei Projekte unter dem Dach von Pivotal, mit denen man sehr schnell Anwendungen erzeugen konnte. Beide beschränken sich allerdings auf Webanwendungen. Spring Boot erweitert dieses Spektrum deutlich. Sie möchten ein Projekt mit Spring Integration starten, einen REST-Service anbieten oder auf eine NoSQL-Datenbank zugreifen? Mit Hilfe der sogenannten “Starter POMs” können Sie ein entsprechendes Projekt mit wenigen Zeilen Konfiguration aufsetzen. Durch beliebige Kombination mehrerer solcher “Starter POMs” lässt Sie auch die Infrastruktur für komplexe Anwendungen erzeugen.

Build-Management

Zunächst muss mit Gradle oder Maven ein Build-Management-Tool ausgewählt werden. Mit diesem Tool wird anschließend die Abhängigkeit zu einer oder mehreren der oben erwähnten “Starter POMs” definiert. Hier am Beispiel einer einfachen Webanwendung und Gradle als Build-Management-Tool:

apply plugin: 'java'
repositories { mavenCentral() }
dependencies {
    compile("org.springframework.boot:spring-boot-starter-web:1.1.4.RELEASE")
}

Durch diese wenigen Konfigurationszeilen definieren Sie die Abhängigkeiten für eine vollständige Spring MVC Anwendung. Die eigentliche Magie kommt aber erst noch. Dazu müssen wir uns den zugehörigen Java-Code anschauen:

Java-Code

package hello;

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller
@EnableAutoConfiguration
public class SampleController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

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

Der größte Teil der Mächtigkeit von Spring Boot versteckt sich hinter der Annotation @EnableAutoConfiguration. Wird eine Anwendung mit dieser Annotation gestartet, werden alle Klassen im Klassenpfad der Anwendung gescannt. Auf Basis der gefundenen Klassen wird eine Standard-Konfiguration erstellt und die notwendigen Spring Beans initialisiert. Für unsere einfache Spring MVC Anwendung wurden über die Starter-POM spring-boot-starter-web die notwendigen Bibliotheken eingebunden, so dass diese nun im Klassenpfad gefunden werden können. Dadurch können die folgenden Schritte automatisch von Spring Boot übernommen werden:

  • Registrierung des Spring DispatcherServlets und Festlegung eines URL-Mappings
  • Auswahl eines Handler-Mappings
  • Auswahl eines View-Handlers
  • Aktivieren des Component-Scans für Spring MVC Controller

Embedded Web Container

Aus der gerade gezeigten Anwendung kann ein Web Archive (WAR) für das Deployment in einen Web Container erzeugt werden. Das ist allerdings nicht der einzige Weg, um diese Anwendung ans Laufen zu bekommen. Untypisch für eine Webanwendung ist die im Java-Code enthaltene main-Methode. Diese ermöglicht das direkte Starten der Anwendung. In diesem Fall kommt ein Embedded Tomcat zum Einsatz, der sich durch die oben erwähnte Starter-POM ebenfalls bereits im Klassenpfad der Anwendung befindet.

The post Spring Boot – Getting started appeared first on techscouting through the java news.


Viewing all articles
Browse latest Browse all 44

Trending Articles