codestory

Die Anleitung zu Spring Boot und Groovy

  1. Was ist Groovy?
  2. Das Projekt Spring Boot erstellen
  3. Controller, Groovy Template
  4. Die Applikation laufen

1. Was ist Groovy?

Apache Groovy ist eine objektorientierte Programmierungsprache (Object-oriented programming language) für das visuelle Maschine Java. Es ist eine dynamische Sprache (dynamic language) mit der ähnlichen Funktionen wie Python, Ruby, Perl. Es kann wie eine Skriptsprache für Java Platform verwendet werden und wird zur Kode bycode vom visuellen Maschine Java kompiliert, und interaktiv mit der Kode Java und der Bibliotheke. Groovy verwendet die wie Java geschweifte Klammer { } Syntax. Die meisten Kode Java haben die mit Groovy gültigen Syntax obwohl die semantische Bedeutung ändert sich.
In dieser Unterricht stelle ich hauptsächlich die Sprache Groovy nicht vor sowie benutze diese Sprache nicht. Aber Groovy eine Vorlage (template) um die HTML Dokument zu erstellen und das ist das Thema, das wir in die Unterricht diskutieren.
Das Zweck der Unterricht ist die Erstellung einer Applikation Java Web , die Spring Boot benutzt und Groovy Template für View Layer benutzt. Natürlich für View Layer können Sie die anderen Technologie wie JSP, Thymeleaf... auswählen

2. Das Projekt Spring Boot erstellen

Auf Eclipse erstellen Sie das Projekt Spring Boot:
Um Groovy zu benutzen , brauchen Sie die Abhängigkeit spring-boot-starter-groovy-templates in Ihres Projekt einfügen
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-groovy-templates</artifactId>
</dependency>
Die volle Inhalt der File pom.xml:
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
         http://maven.apache.org/xsd/maven-4.0.0.xsd">
         
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.o7planning</groupId>
    <artifactId>SpringBootGroovy</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>SpringBootGroovy</name>
    <description>Spring Boot + Groovy</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-groovy-templates</artifactId>
        </dependency>
        
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
SpringBootGroovyApplication.java
package org.o7planning.sbgroovy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringBootGroovyApplication {

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

3. Controller, Groovy Template

Erstellen Sie die File index.tpl in dem Verzeichnis templates.
index.tpl
yieldUnescaped '<!DOCTYPE html>'
html(lang:'en') {
    head {
        meta('http-equiv':'"Content-Type" content="text/html; charset=utf-8"')
        title('Person List')
    }
    body {
        h2 ('A Groovy View with Spring Boot')
        
        h3 ("Message: $message")
       
        table (border: "1")  {
            tr {
               th("First Name")
               th("Last Name")
            }
            persons.each { person ->
                tr {
                   td("$person.firstName")
                   td("$person.lastName")
                }
            }
        }
    }
}
MainController.java
package org.o7planning.sbgroovy.controller;

import java.util.ArrayList;
import java.util.List;

import org.o7planning.sbgroovy.model.Person;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class MainController {

    private static List<Person> persons = new ArrayList<Person>();

    static {
        persons.add(new Person("Bill", "Gates"));
        persons.add(new Person("Steve", "Jobs"));
    }

    @RequestMapping(value = "/")
    public String handleRequest(Model model) {
        
        String message = "Person List:";
        
        model.addAttribute("message", message);
        model.addAttribute("persons", persons);

        return "index";
    }

}
Person.java
package org.o7planning.sbgroovy.model;

public class Person {

    private String firstName;
    private String lastName;

    public Person() {

    }

    public Person(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

}
Das folgende Bild erklärt die Beziehung zwischen Controller und Groovy View:
  • TODO Image.

4. Die Applikation laufen

Klicken Sie die Rechtmaustaste aufs Projekt und wählen:
  • Run As/Spring Boot App
jetzt ist Ihre Applikation gelaufen. Auf dem Browser greifen Sie auf den folgenden Zugang zu

Anleitungen Spring Boot

Show More