Die Anleitung zu Spring Boot und Groovy

View more categories:

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

View more categories: