This seed project purpose is to power the Reactive Server.
This project software design goal is to demonstrate what a functional web application developed with Spring Boot 2, Spring WebFlux and Kotlin can look like:
- Reactive and non-blocking
- More functional style and less annotation based than typical Spring applications
- Leverage Kotlin features like Kotlin extensions and reified type parameters for cleaner code
- Simple, fast to start, efficient request processing, low memory consumption
- Constructor based injection
- Immutable Pojos
- Cloud Native
- Language: Kotlin
- Framework: Spring Boot 2.0 with Spring 5 Kotlin support and Spring WebFlux functional
- Engine: Netty used for client and server
- Reactive API: Reactor
- Persistence : Spring Data Reactive MongoDB
- Build: Gradle Script Kotlin
- Testing: Junit 5
- Support for Spring Cloud
- Support for Docker
- Support for Reactive Security
- Install Git
- Fork and clone 这个项目
- Install Java 8
- Run
./gradlew bootRun
in another terminal - Open
http://localhost:8080/
in your browser - If you want to debug the app, add
--debug-jvm
parameter to Gradle command line
- Make sure you have at least IntelliJ IDEA
2018.1.x
and IDEA Kotlin plugin1.1.4+
(menu Tools -> Kotlin -> configure Kotlin Plugin Updates -> make sure "Stable" channel is selected -> check for updates now -> restart IDE after the update) - Import it in IDEA as a Gradle project
- In IntelliJ IDEA, right click on
Application.kt
thenRun ...
orDebug ...
- Open
http://localhost:8080/
in your browser
./gradlew clean build
java -jar build/libs/ingo-seed-reactive-server-0.0.1-SNAPSHOT