Javalin wurde vor ein paar Tagen in der Version 3.3.0 veröffentlicht. Was dieser Framwork kann, zeigt diese Mindmap:
Mit einem Zweizeiler kann in Java schnell eine Anwendung erstellt werden. Es wird nur die Abhängkeit in der pom.xml erwartet:
1 2 3 4 5 6 7 8 9 10 11 12 |
<dependencies> <dependency> <groupId>io.javalin</groupId> <artifactId>javalin</artifactId> <version>3.3.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.26</version> </dependency> </dependencies> |
Die slf4 ist optional, aber das logging ist schon wichtig.
Dann ein Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
import io.javalin.Javalin; /** * Demo Zeitpunkt Service. * * @author Thomas Wenzlaff * */ public class DatumsService { private static final int PORT = 4711; /** * https://github.com/tipsy/javalin * * Aufruf im Browser z.B.: http://localhost:4711/zeitpunkt * http://localhost:4711/version * http://localhost:4711/copyright * http://localhost:4711/ * * @author Thomas Wenzlaff * * @param args */ public static void main(String[] args) { Javalin app = Javalin.create().start(PORT); app.get("/zeitpunkt", ctx -> ctx .result("Der aktuelle Zeitpunkt mit Javalin in Millisekunden: " + System.currentTimeMillis())); app.get("/version", ctx -> ctx.result("1.0.0")); app.get("/copyright", ctx -> ctx.result("Thomas Wenzlaff (c) 2019")); app.get("/", ctx -> ctx.result("Javalin Demo von Thomas Wenzlaff (c) 2019")); } } |
Wird das Programm gestartet, ist der Service in 383 ms bereit:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[main] INFO io.javalin.Javalin - __ __ _ / /____ _ _ __ ____ _ / /(_)____ __ / // __ `/| | / // __ `// // // __ \ / /_/ // /_/ / | |/ // /_/ // // // / / / \____/ \__,_/ |___/ \__,_//_//_//_/ /_/ https://javalin.io/documentation [main] INFO org.eclipse.jetty.util.log - Logging initialized @553ms to org.eclipse.jetty.util.log.Slf4jLog [main] INFO io.javalin.Javalin - Starting Javalin ... [main] INFO io.javalin.Javalin - Listening on http://localhost:4711/ [main] INFO io.javalin.Javalin - Javalin started in 383ms \o/ |
Aufruf dann im Browser zb. http://localhost:4711/