Table des matières
1. Baidu Encyclopedia
2. Support technique pour le webservice
1, XML et XSD
2. SOAP
3. WSDL
4. UDDI
5. Appel de RPC et messagerie
3. Scénarios d'application et inconvénients du service Web
1. Scénarios d'application du service Web
2. Inconvénients du webservice
4. Exemples de code de service Web
Code de projet du serveur
Client code du projet :
Maison Java javaDidacticiel Comment le service Web implémente les appels d'interface et le transfert d'objets entre les projets Springboot

Comment le service Web implémente les appels d'interface et le transfert d'objets entre les projets Springboot

Jun 03, 2023 pm 12:09 PM
springboot webservice

1. Baidu Encyclopedia

Web Service est une application Web indépendante de la plate-forme, à faible couplage, autonome et programmable qui peut utiliser la norme open XML (un sous-ensemble du Standard Universal Markup Language). découvrir, coordonner et configurer ces applications pour développer des applications distribuées et interopérables.

La technologie Web Service permet à différentes applications exécutées sur différentes machines d'échanger des données ou de s'intégrer les unes aux autres sans avoir besoin de logiciels ou de matériel tiers spécialisés supplémentaires. Les applications mises en œuvre selon les spécifications des services Web peuvent échanger des données entre elles quel que soit le langage, la plateforme ou le protocole interne qu'elles utilisent. Le service Web est un module autonome et auto-descriptif qui peut être utilisé sur le réseau et peut exécuter des fonctions commerciales spécifiques. Les services Web sont également faciles à déployer car ils sont basés sur certaines normes industrielles conventionnelles et technologies existantes, telles que des sous-ensembles de XML et HTTP sous le langage de balisage universel standard. Les services Web réduisent le coût des interfaces applicatives. Les services Web fournissent un mécanisme commun pour intégrer les processus métier dans une entreprise ou même dans plusieurs organisations.

2. Support technique pour le webservice

Pour réaliser la création d'applications distribuées, la plateforme Web Service doit adopter un ensemble de protocoles. Toute plate-forme a sa méthode de représentation des données et son système de types. Pour parvenir à l'interopérabilité, la plate-forme de services Web doit fournir un système de types standard pour communiquer différents systèmes de types sur différentes plates-formes, langages de programmation et modèles de composants. Ces protocoles sont :

1, XML et XSD

XML est un langage de balisage utilisé pour marquer les documents électroniques afin de les rendre structurels, et constitue le format de base pour représenter les données dans la plateforme de services Web. En plus d'être facile à créer et à analyser, le principal avantage du XML est qu'il est à la fois indépendant de la plate-forme et du fournisseur. XML suit les exigences grammaticales de la spécification W3C, sépare la forme et le contenu, a une bonne auto-description, est facile à développer et possède une multitude de bibliothèques de développement tierces, ce qui le rend très approprié pour la transmission d'informations entre des systèmes d'architectures différentes. À mesure que l'application de XML se généralise, XML est devenu de facto la norme d'échange de données en raison de ses avantages dans de nombreux scénarios d'application. XML a été créé par le World Wide Web Consortium (W3C). Le XML SchemaXSD développé par le W3C définit un ensemble de types de données standard et fournit un langage pour étendre cet ensemble de types de données.
La plateforme de services Web utilise XSD comme système de type de données. Lorsque vous utilisez un langage tel que VB. NET ou C# pour construire un service Web, afin de respecter la norme du service Web, tous les types de données que vous utilisez doivent être convertis en types XSD. Si vous souhaitez que le contenu soit fourni entre différentes organisations sur différentes plates-formes et différents logiciels, vous devez également l'envelopper dans quelque chose. Cette chose est un protocole, comme SOAP.

2. SOAP

SOAP est le Simple Object Access Protocol. Il s'agit d'un protocole léger utilisé pour échanger des informations codées en XML (un sous-ensemble du Standard Universal Markup Language). les données entre utilisateurs sont une forme d’implémentation courante de service Web. Il comporte trois aspects principaux : l'enveloppe XML définit un cadre pour décrire le contenu de l'information et comment traiter le contenu, des règles pour coder les objets de programme en objets XML et des conventions pour implémenter des appels de procédure à distance (RPC). SOAP peut fonctionner sur n'importe quel autre protocole de transport.

SOAP définit un cadre basé sur le protocole HTTP qui décrit le contenu du message, qui l'a envoyé, qui doit l'accepter et le traiter, et comment les traiter. Il standardise les formats de données en définissant des enveloppes SOAP (Envelops), encapsule les données XML dans des enveloppes pour l'échange d'informations et permet l'interopérabilité entre des systèmes hétérogènes.
Web Service espère réaliser que différents systèmes peuvent s'appeler grâce à un « dialogue logiciel-logiciel », brisant l'incompatibilité entre les applications logicielles, les sites Web et divers appareils, et atteignant l'objectif d'une « intégration transparente basée sur le Web ».

3. WSDL

Langage de description de service Web WSDL est un document de description formel fourni de manière lisible par machine et est basé sur XML (un sous-ensemble du langage de balisage universel standard). . , paramètres et valeurs de retour. Parce qu'il est basé sur XML, WSDL est à la fois lisible par machine et par humain.

4. UDDI

L'objectif d'UDDI est d'établir des normes pour le commerce électronique ; UDDI est un ensemble de normes de mise en œuvre de centres d'enregistrement d'informations distribués et basés sur le Web pour les services Web, et comprend également un ensemble de normes de mise en œuvre qui permettent entreprises Vous pouvez enregistrer le service Web que vous fournissez afin que d'autres entreprises puissent découvrir les normes de mise en œuvre du protocole d'accès.

5. Appel de RPC et messagerie

Le service Web lui-même implémente la communication entre les applications. Nous pouvons utiliser deux méthodes pour établir la communication entre les applications : les appels de procédure à distance (RPC) et la transmission de messages. Lors de l'utilisation de RPC, le concept d'un client est d'appeler une procédure distante sur le serveur, généralement en instanciant un objet distant et en appelant ses méthodes et propriétés. Le système RPC tente d'obtenir une sorte de transparence positionnelle : le serveur expose l'interface de l'objet distant et le client agit comme si l'interface de ces objets était utilisée localement. Cela masque les informations sous-jacentes et le client n'en a pas besoin. tout. Sachez sur quelle machine se trouve l’objet.

3. Scénarios d'application et inconvénients du service Web

1. Scénarios d'application du service Web

Force 1 : Communication à travers les pare-feu
Si l'application compte des milliers d'utilisateurs et est distribuée dans le monde entier, alors la communication du client avec le serveur sera assurée. être un problème délicat. Parce qu'il existe généralement un pare-feu ou un serveur proxy entre le client et le serveur. Dans ce cas, utiliser DCOM n'est pas si simple et il n'est généralement pas pratique de publier le programme client auprès d'un si grand nombre d'utilisateurs. L'approche traditionnelle consiste à choisir d'utiliser le navigateur comme client, d'écrire de nombreuses pages ASP et d'exposer la couche intermédiaire de l'application à l'utilisateur final. Il en résulte que le développement est difficile et que le programme est difficile à maintenir.

Si le composant intermédiaire est remplacé par WebService, le composant intermédiaire peut être appelé directement depuis l'interface utilisateur, éliminant ainsi l'étape de création d'une page ASP. Pour appeler WebService, vous pouvez utiliser directement un client SOAP tel que MicrosoftSOAP Toolkit ou .NET, ou vous pouvez utiliser un client SOAP auto-développé, puis le connecter à l'application. Non seulement cela raccourcit le cycle de développement, mais cela réduit également la complexité du code et améliore la maintenabilité de l'application. L'application n'a pas besoin d'accéder à la « page de résultats » correspondante à chaque fois qu'elle appelle un composant de niveau intermédiaire.

Les développeurs d'applications d'entreprise savent tous que les entreprises doivent souvent intégrer divers programmes écrits dans différents langages et fonctionnant sur différentes plates-formes, et cette intégration coûtera beaucoup d'efforts de développement. Les applications doivent souvent obtenir des données à partir de programmes exécutés sur le mainframe IBM ou envoyer des données au mainframe ou aux applications UNIX. Différents logiciels doivent souvent être intégrés sur la même plateforme, même s'ils proviennent de fournisseurs de logiciels différents. D'autres applications peuvent utiliser des méthodes standard pour accéder aux fonctionnalités et aux données exposées via le WebService.

Force 2 : Intégration d'applications
Les développeurs d'applications au niveau de l'entreprise savent tous que les entreprises intègrent souvent divers programmes écrits dans différents langages et fonctionnant sur différentes plates-formes, et cette intégration nécessitera beaucoup d'efforts de développement. Les applications doivent souvent obtenir des données à partir de programmes exécutés sur le mainframe IBM ou envoyer des données au mainframe ou aux applications UNIX. Différents logiciels doivent souvent être intégrés sur la même plateforme, même s'ils proviennent de fournisseurs de logiciels différents. D'autres applications peuvent utiliser des méthodes standard pour accéder aux fonctionnalités et aux données exposées via le WebService.

Par exemple, il existe un programme de connexion aux commandes utilisé pour enregistrer les nouvelles commandes des clients, y compris les informations sur le client, l'adresse de livraison, la quantité, le prix et le mode de paiement ; il existe également un programme d'exécution des commandes utilisé pour envoyer les marchandises réelles. Les deux programmes proviennent de fournisseurs de logiciels différents. Lorsqu'une nouvelle commande arrive, le programme de saisie des commandes informera le programme d'exécution des commandes d'envoyer les marchandises. En ajoutant une couche de WebService au-dessus du programme d'exécution de commande, le programme d'exécution de commande peut « exposer » la fonction « AddOrder ». De cette façon, chaque fois qu'une nouvelle commande arrive, le programme de connexion à la commande peut appeler cette fonction pour envoyer la marchandise.

Fonction 3 : Intégration B2B
L'utilisation de WebService pour intégrer des applications peut rendre le traitement commercial interne de l'entreprise plus automatisé. Mais que se passe-t-il lorsque les transactions concernent les fournisseurs et les clients, repoussant ainsi les limites de l’entreprise ? L'intégration des transactions commerciales entre entreprises est souvent appelée intégration B2B.

WebService est la clé d'une intégration B2B réussie. Grâce à WebService, les entreprises peuvent « exposer » leurs applications métier clés à des fournisseurs et clients désignés. Par exemple, en « exposant » le système de commande électronique et le système de facturation électronique, les clients peuvent envoyer des commandes par voie électronique et les fournisseurs peuvent envoyer des factures d'achat de matières premières par voie électronique. Bien sûr, ce n’est pas un concept nouveau, l’EDI (Electronic Document Interchange) existe depuis longtemps. Cependant, la mise en œuvre de WebService est beaucoup plus simple que l'EDI, et WebService fonctionne sur Internet et peut être facilement mis en œuvre n'importe où dans le monde, son coût d'exploitation est donc relativement faible. Cependant, WebService n'est pas une solution complète d'échange de documents ou d'intégration B2B comme l'EDI. Pour réaliser l'intégration, en plus du WebService, de nombreux autres composants sont requis.

Le plus grand avantage de l'utilisation de WebService pour mettre en œuvre l'intégration B2B est que l'interopérabilité peut être facilement réalisée. Tant que la logique métier est « exposée » et devient un service Web, tout partenaire désigné peut appeler cette logique métier, quelle que soit la plate-forme sur laquelle son système s'exécute ou le langage de développement qu'il utilise. Cela réduit considérablement le temps et les coûts consacrés à l'intégration B2B, permettant ainsi à de nombreuses petites et moyennes entreprises qui n'ont pas les moyens de se permettre l'EDI de réaliser l'intégration B2B.
Réutilisation des logiciels et des données

"La réutilisation des logiciels est un sujet important avec de nombreuses formes et différents degrés de mise en œuvre." La forme la plus élémentaire est la réutilisation du module de code source ou au niveau de la classe, et l'autre forme est la réutilisation des composants de formulaire binaire.

Actuellement, les composants logiciels réutilisables comme les contrôles de table ou les contrôles d'interface utilisateur occupent une part importante du marché. La réutilisation de ce type de logiciel est très contraignante car limitée au code et les données ne peuvent pas être réutilisées. La raison en est qu'il est plus facile de publier des composants et même du code source, mais il n'est pas si facile de publier des données, à moins qu'il ne s'agisse de données statiques qui ne changent pas fréquemment.

Tout en réutilisant le code, webService peut également réutiliser le code derrière les données. Grâce à WebService, vous n'avez plus besoin d'acheter et d'installer des composants logiciels auprès d'un tiers comme auparavant, puis d'appeler ces composants depuis l'application, il vous suffit d'appeler directement le WebService distant ; Par exemple, pour confirmer l'adresse saisie par l'utilisateur dans l'application, il vous suffit d'envoyer l'adresse directement au WebService correspondant. Ce WebService vous aidera à vérifier l'adresse postale, la ville, la province, le code postal et d'autres informations pour confirmer la. L'adresse est-elle dans la zone du code postal correspondant ? Le fournisseur de WebService peut facturer le service en fonction de la durée ou du nombre d'utilisations. Il est impossible de mettre en œuvre un tel service via la réutilisation de composants. Dans ce cas, vous devez télécharger et installer une base de données contenant des informations telles que les adresses, les villes, les provinces et les codes postaux, et cette base de données ne peut pas être mise à jour en temps réel.

Une autre situation de réutilisation de logiciels consiste à intégrer les fonctions de plusieurs applications. Par exemple, vous souhaitez créer une application de portail sur le réseau local afin que les utilisateurs puissent consulter les colis FedEx, vérifier les conditions boursières, gérer leurs propres horaires et acheter des billets de cinéma en ligne. Il existe désormais de nombreux fournisseurs d'applications sur le Web, qui ont tous implémenté ces fonctions dans leurs applications. Une fois qu'ils « exposent » ces fonctions via WebService, ils peuvent facilement intégrer toutes ces fonctions dans votre site portail et offrir aux utilisateurs une interface unifiée et conviviale.

À l'avenir, de nombreuses applications utiliseront WebService pour étendre la structure d'application actuelle basée sur les composants en une structure hybride composant/WebService. Vous pouvez utiliser les fonctions fournies par WebService tiers dans l'application, ou vous pouvez ajouter votre propre application. fonctions fournies à d’autres via WebService. Dans les deux cas, le code et les données derrière le code peuvent être réutilisés.

2. Inconvénients du webservice

Inconvénient 1 : Applications autonomes

Actuellement, les entreprises et les particuliers utilisent encore de nombreuses applications de bureau. Certains d’entre eux n’ont besoin que de communiquer avec d’autres programmes sur la machine. Dans ce cas, il est préférable d'utiliser l'API locale et d'éviter d'utiliser WebService. COM est idéal pour travailler dans cette situation car il est petit et rapide. Il en va de même pour les logiciels serveur exécutés sur le même serveur. Il est préférable d’utiliser directement COM ou d’autres API locales pour effectuer des appels entre applications. Bien que WebService soit également adapté à ces scénarios, il consommera beaucoup de ressources et n'apportera aucun avantage substantiel.

Faiblesse 2 : Applications isomorphes sur LAN
Dans de nombreuses applications, tous les programmes sont développés avec VB ou VC, tous utilisent COM sous la plateforme Windows et tous s'exécutent sur le même LAN. Par exemple, deux applications serveur doivent communiquer entre elles, ou un programme client Win32 ou WinForm souhaite se connecter à un autre programme serveur sur le réseau local. Dans ces programmes, l'utilisation de DCOM sera bien plus efficace que SOAP/http. De même, si un programme .NET souhaite se connecter à un autre programme .NET sur le réseau local, l'accès à distance .NET doit être utilisé. Fait intéressant, dans l'accès à distance .NET, vous pouvez également spécifier d'utiliser SOAP/http pour effectuer des appels WebService. Cependant, il est préférable de faire des appels RPC directement via TCP, ce qui est beaucoup plus efficace.

En bref, tant qu'il existe d'autres méthodes plus efficaces et réalisables que WebService du point de vue de la structure de l'application, n'utilisez pas WebService.

4. Exemples de code de service Web

Réaliser la mobilisation d'interface entre différents projets et transférer les données d'objet via le service Web~

Code de projet du serveur

1, pom

<!--webservice-->
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web-services</artifactId>
 </dependency>
 <dependency>
     <groupId>org.apache.cxf</groupId>
     <artifactId>cxf-rt-frontend-jaxws</artifactId>
     <version>3.1.12</version>
 </dependency>
 <dependency>
     <groupId>org.apache.cxf</groupId>
     <artifactId>cxf-rt-transports-http</artifactId>
     <version>3.1.12</version>
 </dependency>
Copier après la connexion

2, classe de configuration de configuration

package com.guor.config;

import com.guor.service;
import com.guor.service.implImpl;
import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.xml.ws.Endpoint;

@Configuration
public class CxfConfig {

    @Bean
    public ServletRegistrationBean createServletRegistrationBean() {
        return new ServletRegistrationBean(new CXFServlet(), "/WebService/*");
    }

    @Bean(name = Bus.DEFAULT_BUS_ID)
    public SpringBus springBus() {
        return new SpringBus();
    }

    @Bean
    public WebService myService() {
        return new WebServiceImpl();
    }

    @Bean
    public Endpoint endpoint() {
        EndpointImpl endpoint = new EndpointImpl(springBus(), myService());
        endpoint.publish("/api");
        return endpoint;
    }

}
Copier après la connexion

3, interface

package com.guor.service;

import com.guor.entity.dto.User;

import javax.jws;

@WebService(name = "WebService", // 暴露服务名称
        targetNamespace = "http://service.guor.com"// 命名空间,一般是接口的包名倒序
)
public interface WebService {

    User sendInfo(User user);
}
Copier après la connexion
Copier après la connexion
package com.guor.service.impl;

import com.guor.entity.dto.User;
import com.guor.service;
import org.springframework.stereotype.Service;

import javax.jws;


@WebService(serviceName = "WebService", // 与接口中指定的服务name一致
        targetNamespace = "http://service.guor.com", // 与接口中的命名空间一致,一般是接口的包名倒
        endpointInterface = "com.guor.service"// 接口地址
)
@Service
public class WebServiceImpl implements WebService {

    @Override
    public User sendInfo(User user) {
        return user;
    }
}
Copier après la connexion

Client code du projet :

1. Créez une interface identique

package com.guor.service;

import com.guor.entity.dto.User;

import javax.jws;

@WebService(name = "WebService", // 暴露服务名称
        targetNamespace = "http://service.guor.com"// 命名空间,一般是接口的包名倒序
)
public interface WebService {

    User sendInfo(User user);
}
Copier après la connexion
Copier après la connexion

2.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment Springboot intègre Jasypt pour implémenter le chiffrement des fichiers de configuration Comment Springboot intègre Jasypt pour implémenter le chiffrement des fichiers de configuration Jun 01, 2023 am 08:55 AM

Introduction à Jasypt Jasypt est une bibliothèque Java qui permet à un développeur d'ajouter des fonctionnalités de chiffrement de base à son projet avec un minimum d'effort et ne nécessite pas une compréhension approfondie du fonctionnement du chiffrement. Haute sécurité pour le chiffrement unidirectionnel et bidirectionnel. technologie de cryptage basée sur des normes. Cryptez les mots de passe, le texte, les chiffres, les binaires... Convient pour l'intégration dans des applications basées sur Spring, API ouverte, pour une utilisation avec n'importe quel fournisseur JCE... Ajoutez la dépendance suivante : com.github.ulisesbocchiojasypt-spring-boot-starter2 1.1. Les avantages de Jasypt protègent la sécurité de notre système. Même en cas de fuite du code, la source de données peut être garantie.

Comment SpringBoot intègre Redisson pour implémenter la file d'attente différée Comment SpringBoot intègre Redisson pour implémenter la file d'attente différée May 30, 2023 pm 02:40 PM

Scénario d'utilisation 1. La commande a été passée avec succès mais le paiement n'a pas été effectué dans les 30 minutes. Le paiement a expiré et la commande a été automatiquement annulée 2. La commande a été signée et aucune évaluation n'a été effectuée pendant 7 jours après la signature. Si la commande expire et n'est pas évaluée, le système donne par défaut une note positive. 3. La commande est passée avec succès. Si le commerçant ne reçoit pas la commande pendant 5 minutes, la commande est annulée. 4. Le délai de livraison expire et. un rappel par SMS est envoyé... Pour les scénarios avec des délais longs et de faibles performances en temps réel, nous pouvons utiliser la planification des tâches pour effectuer un traitement d'interrogation régulier. Par exemple : xxl-job Aujourd'hui, nous allons choisir

Comment utiliser Redis pour implémenter des verrous distribués dans SpringBoot Comment utiliser Redis pour implémenter des verrous distribués dans SpringBoot Jun 03, 2023 am 08:16 AM

1. Redis implémente le principe du verrouillage distribué et pourquoi les verrous distribués sont nécessaires. Avant de parler de verrous distribués, il est nécessaire d'expliquer pourquoi les verrous distribués sont nécessaires. Le contraire des verrous distribués est le verrouillage autonome. Lorsque nous écrivons des programmes multithreads, nous évitons les problèmes de données causés par l'utilisation d'une variable partagée en même temps. Nous utilisons généralement un verrou pour exclure mutuellement les variables partagées afin de garantir l'exactitude de celles-ci. les variables partagées. Son champ d’utilisation est dans le même processus. S’il existe plusieurs processus qui doivent exploiter une ressource partagée en même temps, comment peuvent-ils s’exclure mutuellement ? Les applications métier d'aujourd'hui sont généralement une architecture de microservices, ce qui signifie également qu'une application déploiera plusieurs processus si plusieurs processus doivent modifier la même ligne d'enregistrements dans MySQL, afin d'éviter les données sales causées par des opérations dans le désordre, les besoins de distribution. à introduire à ce moment-là. Le style est verrouillé. Vous voulez marquer des points

Comment résoudre le problème selon lequel Springboot ne peut pas accéder au fichier après l'avoir lu dans un package jar Comment résoudre le problème selon lequel Springboot ne peut pas accéder au fichier après l'avoir lu dans un package jar Jun 03, 2023 pm 04:38 PM

Springboot lit le fichier, mais ne peut pas accéder au dernier développement après l'avoir empaqueté dans un package jar. Il existe une situation dans laquelle Springboot ne peut pas lire le fichier après l'avoir empaqueté dans un package jar. La raison en est qu'après l'empaquetage, le chemin virtuel du fichier. n’est pas valide et n’est accessible que via le flux Read. Le fichier se trouve sous les ressources publicvoidtest(){Listnames=newArrayList();InputStreamReaderread=null;try{ClassPathResourceresource=newClassPathResource("name.txt");Input

Comment implémenter Springboot+Mybatis-plus sans utiliser d'instructions SQL pour ajouter plusieurs tables Comment implémenter Springboot+Mybatis-plus sans utiliser d'instructions SQL pour ajouter plusieurs tables Jun 02, 2023 am 11:07 AM

Lorsque Springboot+Mybatis-plus n'utilise pas d'instructions SQL pour effectuer des opérations d'ajout de plusieurs tables, les problèmes que j'ai rencontrés sont décomposés en simulant la réflexion dans l'environnement de test : Créez un objet BrandDTO avec des paramètres pour simuler le passage des paramètres en arrière-plan. qu'il est extrêmement difficile d'effectuer des opérations multi-tables dans Mybatis-plus. Si vous n'utilisez pas d'outils tels que Mybatis-plus-join, vous pouvez uniquement configurer le fichier Mapper.xml correspondant et configurer le ResultMap malodorant et long, puis. écrivez l'instruction SQL correspondante Bien que cette méthode semble lourde, elle est très flexible et nous permet de

Comparaison et analyse des différences entre SpringBoot et SpringMVC Comparaison et analyse des différences entre SpringBoot et SpringMVC Dec 29, 2023 am 11:02 AM

SpringBoot et SpringMVC sont tous deux des frameworks couramment utilisés dans le développement Java, mais il existe des différences évidentes entre eux. Cet article explorera les fonctionnalités et les utilisations de ces deux frameworks et comparera leurs différences. Tout d’abord, découvrons SpringBoot. SpringBoot a été développé par l'équipe Pivotal pour simplifier la création et le déploiement d'applications basées sur le framework Spring. Il fournit un moyen rapide et léger de créer des fichiers exécutables autonomes.

Comment SpringBoot personnalise Redis pour implémenter la sérialisation du cache Comment SpringBoot personnalise Redis pour implémenter la sérialisation du cache Jun 03, 2023 am 11:32 AM

1. Personnalisez RedisTemplate1.1, mécanisme de sérialisation par défaut RedisAPI. L'implémentation du cache Redis basée sur l'API utilise le modèle RedisTemplate pour les opérations de mise en cache des données. Ici, ouvrez la classe RedisTemplate et affichez les informations sur le code source de la classe. Déclarer la clé, diverses méthodes de sérialisation de la valeur, la valeur initiale est vide @NullableprivateRedisSe

Comment obtenir la valeur dans application.yml au Springboot Comment obtenir la valeur dans application.yml au Springboot Jun 03, 2023 pm 06:43 PM

Dans les projets, certaines informations de configuration sont souvent nécessaires. Ces informations peuvent avoir des configurations différentes dans l'environnement de test et dans l'environnement de production, et peuvent devoir être modifiées ultérieurement en fonction des conditions commerciales réelles. Nous ne pouvons pas coder en dur ces configurations dans le code. Il est préférable de les écrire dans le fichier de configuration. Par exemple, vous pouvez écrire ces informations dans le fichier application.yml. Alors, comment obtenir ou utiliser cette adresse dans le code ? Il existe 2 méthodes. Méthode 1 : Nous pouvons obtenir la valeur correspondant à la clé dans le fichier de configuration (application.yml) via le ${key} annoté avec @Value. Cette méthode convient aux situations où il y a relativement peu de microservices. Méthode 2 : En réalité. projets, Quand les affaires sont compliquées, la logique

See all articles