Spring Boot vs Micronaut — The battle unleashed

1. Ease of Installation

  • A favourite text editor or IDE
  • JDK 1.8 or later
  • Gradle or Maven latest versions
  • Spring Tool Suite (STS) — Spring Boot
  • IntelliJ IDEA — Spring Boot & Micronaut

2. Natively Cloud Enabled

  • Service discovery:
  • Eureka, Consul or ZooKeeper service discovery servers are being supported
  • Kubernetes container runtime is supported by default.
  • Client side load balancing:
  • Netflix Ribbon can be used for load balancing
  • Distributed Configuration
  • Distributed Tracing
  • Serverless functions

3. Serverless Functions

4. Language Support

  • Java
  • Groovy
  • Kotlin

5. Application Configurations

  • Command line arguments
  • Properties from SPRING_APPLICATION_JSON (Only if there is any Spring dependency)
  • Properties from MICRONAUT_APPLICATION_JSON
  • Java System Properties
  • OS environment variables
  • Each Environment-specific properties like application-{environment}.{extension} (could be .properties, .json, .yml or .groovy)
  • Application-specific properties from the application.{extension} (could be.properties, .json, .yml or .groovy)
  • Special properties ( Random Values )
  • Spring Boot devtools global settings properties
  • @TestPropertySource annotations on your tests.
  • @SpringBootTest#properties annotation attribute on your tests.
  • ServletConfig init parameters.
  • ServletContext init parameters.
  • JNDI attributes from java:comp/env.
  • @PropertySource annotations on your @Configuration classes.
  • Default properties (specified by setting SpringApplication.setDefaultProperties).

6. Messaging Systems support

  • RabbitMQ
  • Apache Kafka
  • ActiveMQ
  • Artemis
  • RabbitMQ
  • Apache Kafka

7. Security

  • MVC Security
  • WebFlux Security
  • OAuth2
  • Actuator Security
  • Authentication Providers
  • Security Rules
  • IP Pattern Rule
  • Secured Annotation
  • Intercept URL Map
  • Built-In Endpoints Security
  • Authentication Strategies
  • Basic Auth
  • Session Authentication
  • JSON Web Token
  • Built-In Security Controllers
  • Retrieve the Authenticated User
  • Security Events

8. Logging

  • Logback
  • Log4j

9. Caching

  • Redis
  • Couchbase
  • Generic
  • JCache (JSR-107)
  • EhCache 2.x
  • Hazelcast
  • Infinispan
  • Caffeine
  • Caffeine — by default Micronaut supports it.
  • Redis

10. Management & Monitoring

  • Creating Endpoints
  • Built-In Endpoints
  • Monitoring & Management over HTTP
  • Customizing the Management Endpoints paths
  • Customizing the Management Server Port
  • Configuring Management-specific SSL
  • Customizing the Management Server Address
  • Disabling HTTP Endpoints
  • Monitoring & Management over JMS

Summary

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
WalkingTree Technologies

WalkingTree Technologies

385 Followers

WalkingTree is an IT software and service provider recognized for its passion for technology.