[JAVA] Application de bureau Vue.js + Jersey
L'autre jour, comme exemple de mise en œuvre d'une application de bureau simple, vue-nest-desktop-app (Vue.js + NestJS pour l'application de bureau Implémenter), mais le développement backend est plus familier avec Java (Spring Boot + Jersey) que Node.js, donc de retour J'ai créé une vue-jersey-desktop-app avec la fin remplacée par Java.
Voici un bref résumé des points de développement.
Configuration de l'application
- Le backend est développé par Spring Boot. Il est configuré pour être généré et distribué dans un fichier jar exécutable (appelé fat jar) qui intègre le Tomcat intégré, et pour être utilisé en accédant au serveur d'applications démarré localement à partir d'un navigateur.
- Le frontal est implémenté avec Vue.js, et les HTML, CSS et JavaScript intégrés sont livrés sous forme de fichiers statiques en utilisant la fonction de serveur Web principal (spring-boot-starter-web).
- La fonction principale est fournie sous forme d'API Restful (spring-boot-starter-jersey) sur le back-end, et elle est utilisée par un appel API depuis le front-end.
Application de bureau Spring Boot
Les idées suivantes ont été mises en place pour faire de Spring Boot une application de bureau.
- Affichez le journal dans une fenêtre implémentée par Swing afin que l'application s'arrête lorsque la fenêtre est fermée. (Parce qu'il est difficile de déterminer si l'application est en cours d'exécution ou d'arrêter l'application simplement en démarrant l'application en arrière-plan lorsque le fichier JAR est exécuté.)
- Référence: ConsoleFrame.java
- Le serveur d'applications recherche un port libre sur la machine locale et démarre, et après le démarrage, le navigateur système (par défaut) ouvre automatiquement l'écran supérieur du frontal.
- Référence: Browser.java
Appeler une API Restful externe
Étant donné que le frontal hébergé par un serveur Web fonctionnant localement est accessible par un navigateur, il n'est pas possible d'accéder directement à d'autres API Web externes à partir du front-end. Par conséquent, la fonction de proxy d'API (prend également en charge la redirection de port SSH afin que l'API fermée pour le développement soit accessible) est implémentée sur le côté arrière.
Référence: ApiProxy.java