Fermer

août 22, 2024

Introduction à Micronaut avec Java

Introduction à Micronaut avec Java


Qu’est-ce que Micronaut ?

Le concept de la Fondation Micronaut découle de l’échange en temps réel d’informations de qualité dans le domaine de la physique du bâtiment, des monolithes aux microservices, dans la perspective de Spring, Spring Boot et Grails. Avec l’aide de la Fondation Micronaut, l’équipe Essential a construit et maintenu le projet Micronaut.

  • Il est créé par l’équipe OCI, dirigée par Graeme Roecher
  • 1.0 sorti en 2018
  • Open-source en mai 2018
  • Inspiré d’autres frameworks à améliorer et de nouveaux frameworks à naître sur la même approche
  • Dernière version 4.5.3

L’organisation Micronaut a pour objectif de démontrer toutes les pratiques spécifiques à la conception de JVM :

  • Injection de dépendances et inversion de contrôle (IoC)
  • Programmation orientée aspect (AOP)
  • Paramètres par défaut raisonnables et configuration automatique

Les ressources suivantes sont fournies par la Fondation Micronaut pour remédier aux lacunes des fondations Spring et Grails.

  • Période de démarrage rapide
  • Empreinte de pensée réduite
  • Utilisation minimale de l’impression
  • Aucune création de bytecode d’exécution
  • Tests unitaires faciles

Cet objectif est réalisé grâce à l’utilisation de Java processeurs d’annotationsqui travaillent sur un style JVM prenant en charge la bureaucratie, en plus d’un serveur HTTP (accompagnant divers environnements d’exécution Reflux, Matou, Jetée, Netty​)et un client HTTP (avec plusieurs runtimes) Client HTTP Java, Netty…​).

Principales fonctionnalités de Micronaut

  1. Injection de dépendances au moment de la compilation (DI) : Micronaut effectue l’injection de dépendances au moment de la compilation, contrairement aux programmes Java traditionnels qui utilisent des images d’exécution. Cette approche élimine la surcharge de performances associée aux images, ce qui se traduit par des temps de démarrage plus rapides et une consommation de mémoire réduite.
  2. Compilation en avance (AOT) : Micronaut utilise la compilation AOT pour précalculer la plupart des configurations et du câblage des applications. Il en résulte des applications efficaces et de haute qualité, prêtes à fonctionner dès leur déploiement.
  3. Applications fonctionnelles : Le système d’exploitation réactif de Micronaut offre un support robuste, permettant aux utilisateurs de créer des applications simultanées évolutives. Avec la prise en charge intégrée de bibliothèques telles que Reactor et RxJava, Micronaut facilite l’utilisation de la modélisation réactive dans vos applications.
  4. Configuration minimale : Avec des paramètres par défaut pratiques et un code passe-partout minimal, Micronaut facilite le démarrage et réduit les frais généraux liés à la configuration des utilitaires.
  5. Interopérabilité : Micronaut s’intègre parfaitement aux bibliothèques et frameworks Java existants, garantissant que les constructeurs peuvent exploiter leurs connaissances et leur base de code existantes tout en adoptant Micronaut.
  6. Compétences en tests simplifiés : Les tests sont un élément crucial du développement de logiciels et Micronaut est fier de ce sujet avec ses capacités de test simplifiées. En présentant un guide intégré pour les tests unitaires, d’intégration et de bout en bout, Micronaut permet aux développeurs d’écrire des tests solides qui garantissent la fiabilité et l’équilibre de leurs applications.
  7. Temps de démarrage ultra-rapide : L’une des fonctions les plus remarquables de Micronauts est son temps de démarrage ultra-rapide. Contrairement à de nombreux autres frameworks qui peuvent être lents à s’initialiser, Micronaut affiche une vitesse remarquable, permettant aux développeurs de se lever et de marcher en quelques millisecondes.
  8. Architecture modulaire : L’architecture modulaire de Micronaut vous permet de sélectionner les fonctions dont vous avez besoin, ce qui donne lieu à une application légère et écologique. Cette modularité facilite en outre l’extension du framework avec des modules personnalisés selon les besoins.

Avantages de l’utilisation de Micronaut

  1. Performance: Les méthodes de compilation DI et AOT au moment de la compilation utilisées par Micronaut offrent des améliorations significatives des performances. Les applications développées avec Micronaut se lancent plus rapidement et consomment moins de mémoire que les applications développées avec des frameworks Java traditionnels. Ceci est particulièrement avantageux pour les microservices et les applications sans serveur, où des temps de démarrage rapides et l’efficacité des ressources sont importants.
  2. Flexibilité: Micronaut est un framework polyvalent adapté à diverses applications. Que vous créiez des microservices, des tâches sans serveur ou des applications Web traditionnelles.
  3. Interopérabilité : Micronaut est conçu pour fonctionner de manière transparente avec les bibliothèques et programmes Java existants.
  4. Conception cloud native : Micronaut a été conçu dès le départ pour prendre en charge le développement cloud natif. Avec des fonctionnalités intégrées pour la découverte de l’utilisation, l’analyse distribuée et le déploiement dans le cloud, Micronaut simplifie le processus de création et de déploiement de microservices dans un environnement cloud. Ce cloud natif prend en charge les développeurs afin qu’ils puissent se concentrer sur la résolution des problèmes car ils n’en ont pas. se soucier des infrastructures.
  5. Productivité des développeurs : L’approche minimaliste de Micronaut en matière de programmation et son utilisation de préréglages logiques facilitent le démarrage. Les développeurs peuvent rapidement créer et déployer des applications sans fichiers de configuration compliqués ni code passe-partout.

Définir votre propre environnement de développement

Avant de plonger dans l’application Micronaut, configurons notre environnement de développement.

Conditions préalables
Java 8 ou plus
Gradle ou Maven
IDE (Eclipse, IntelliJ IDEA, etc.) .

  1. Installez l’interface de ligne de commande (CLI) de Micronaut : Micronaut propose un outil CLI(vous pouvez utiliser SDKMAN) pour rationaliser le processus de création et de gestion des tâches.
  2. Lancement Micronaut : si la CLI n’est pas installée, vous pouvez créer la même application en visitant Lancement de Micronaut.
  3. Mise en place d’un IDE : https://docs.micronaut.io/snapshot/guide/#ideSetup

Annotations de base

@Controller- Dans Micronaut, une classe est définie comme un contrôleur utilisant le @Controller annotation. Il achemine les requêtes HTTP vers les canaux appropriés après les avoir traitées.

@Controller("/first")
public class FirstController {

@Get("https://www.tothenew.com/")
public String firstService() {
return "First Micronaut Service.";
}

}

@Inject- Dans Micronaut, le @Inject l’annotation est utilisée pour définir les dépendances dans vos classes.

@Controller("/service")
public class ServiceController {

@Inject
private MyService myService;

}

@Singleton- Dans Micronaut, en utilisant le @Singleton L’annotation indique qu’une instance de bean doit être créée et partagée.

@Singleton
public class MyService {
// Some service logic
}

@Value- Dans Micronaut, le @Value L’annotation est utilisée pour injecter des propriétés de configuration.

@Singleton
public class ConfigService {

@Value("${myapp.message}")
private String message;

public String getMessage() {
return message;
}

}

@Requires- Dans Micronaut, le @Requires L’annotation est utilisée pour activer conditionnellement un bean en fonction de certaines conditions, comme la présence d’une propriété.

@Singleton
@Requires(property = "myapp.enabled", value = "true")
public class MyService {
// Service logic
}

@Property- Dans Micronaut, le @Property L’annotation est utilisée pour lier les propriétés de configuration à une classe.

@Singleton
@Property(name = "myapp.service")
public class MyAppService {

private final String name;

public MyAppService(@Property(name = "myapp.service.name") String name) {
this.name = name;
}

public String getName() {
return name;
}

}

@Client- Dans Micronaut, le @Client L’annotation est utilisée pour créer un client HTTP déclaratif.

@Client("/external")
public interface ExternalClient {

@Get("/data")
String getData();

}

@EventListener- Dans Micronaut, le @EventListener L’annotation est utilisée pour marquer une méthode comme écouteur d’événement.

@Singleton
public class MyEventListener {

@EventListener
public void onEvent(Event event) {
// event logic
}

}

@Filter- Dans Micronaut, le @Filter L’annotation est utilisée pour définir un filtre pour les requêtes HTTP.

@Filter("/api/**")
public class CustomFilter implements HttpServerFilter {

@Override
public Publisher<HttpResponse<?>> doFilter(HttpRequest<?> request, ServerFilterChain chain) {
// Filtering logic
return chain.proceed(request);
}

}

Pour plus d’annotationshttps://micronaut-projects.github.io/micronaut-data/latest/guide/#shared

Code source — https://github.com/Akash1691/employee-management-service

Conclusion

Micronaut représente une avancée significative dans le développement du framework Java. L’accent mis sur la fonctionnalité, la simplicité et le développement d’applications contemporaines le positionne comme une option privilégiée pour les développeurs recherchant une puissance et des performances améliorées. Avec Micronaut, vous pouvez exploiter toute la puissance de Java avec les gains de performances normalement associés aux systèmes de bas niveau.

Que vous créiez des microservices, des applications sans serveur ou des applications Web traditionnelles, Micronaut fournit une plate-forme robuste et efficace sur laquelle s’appuyer. Commencez à explorer Micronaut dès aujourd’hui et développez des applications Java à l’avenir !

Références :

Guide Micronaute — https://redis.io/docs/getting-started/installation/

Webinaires Miconauthttps://www.youtube.com/watch?v=Fn_Yac_NReE&list=PLzR4N8lGQvWiNW17TfJ2tksWFjjKJbbqZ&index=26

VOUS TROUVEZ CELA UTILE ? PARTAGEZ-LE






Source link