


Introduction aux méthodes de conversion et de vérification de type SpringMVC (avec code)
Sep 28, 2018 pm 03:54 PMCet article vous présente une introduction aux méthodes de conversion et de vérification de SpringMVC (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Processus de liaison de données Spring mvc?:
SpringMvc transmet l'objet ServletRequest et l'instance de paramètre formel de la méthode cible à l'instance WebDataBinderFactory pour créer un objet d'instance DataBinder. DataBinder appelle le composant ConversionService assemblé dans le contexte SpringMvc pour effectuer la conversion de type et le formatage des données, et remplit les informations de demande de servlet dans l'objet paramètre formel. Appelez la clé primaire du validateur pour vérifier la validité des données sélectionnées de l'objet paramètre formel qui a été lié aux informations de la demande, et enfin générez l'objet BindingData du résultat de liaison de données. SpringMVC extrait l'objet paramètre formel et l'objet erreur de vérification dans BindingResult et les affecte aux paramètres correspondants de la méthode de traitement
Nous pouvons voir dans le code source que l'objet DataBinder est créé via WebDataBinderFactory
Convertisseur de type personnalisé
Lorsque nous rencontrons des occasions spéciales, nous devrons peut-être définir notre propre convertisseur de type. Expliquons ensuite un convertisseur de type personnalisé qui convertit une cha?ne en un objet emp. Lorsque la page ne peut pas terminer la liaison de données ou la conversion de type, springmvc lèvera une exception. Les informations sur l'exception peuvent être obtenues à l'aide de BindingResult.
Spring définit trois types d'interfaces de convertisseur. Toute interface de convertisseur qui l'implémente peut être enregistrée dans ConversionServiceFactoryBean en tant que convertisseur personnalisé.
Converter?: Convertit le type S en type T.
ConverterFactory?: encapsule ensemble plusieurs convertisseurs "homogènes" de la même classe. Si vous souhaitez convertir un type en un autre type et des objets de sous-classe (tels que String en Number en une sous-classe de Number ), vous pouvez l'utiliser. converter
GenericConverter?: il sélectionnera la conversion de type en fonction des informations contextuelles dans la classe h?te où se trouvent l'objet de classe source et l'objet de classe cible.
package com.spring.mvc.controller; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; @Component public class UserConverter implements Converter<String, User>{ @Override public User convert(String source) { System.out.println(source); String users [] = source.split("-"); User user = new User(); user.setUno(Integer.valueOf(users[0])); user.setUsername(users[1]); user.setUserpass(users[2]); return user; } }
ConversionService est l'interface principale du convertisseur de type dans SpringMVC. Pour ajouter un convertisseur de type personnalisé, vous devez implémenter cette interface/utiliser ConversionServiceFactoryBean pour créer le premier ConversionService dans le conteneur IOC de Spring et l'ajouter. à la configuration de la propriété Bean Pour la classe d'implémentation du convertisseur de type, le convertisseur de type sera automatiquement appelé lorsque SpringMvc gérera la liaison formelle des paramètres de la méthode.
<!--將非mapping配置下的請求交給默認(rèn)的Servlet來處理 --> <mvc:default-servlet-handler /> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <set> <ref bean="userConverter" /> </set> </property> </bean> <!-- 注冊類型轉(zhuǎn)換器 --> <mvc:annotation-driven conversion-service="conversionService" />
En développement réel, il doit également être configuré?: balise
Format des données
Format d'entrée/sortie pour La transformation d'attributs, par essence, appartient toujours à la catégorie des conversions de types. Spring définit une classe d'implémentation FarmattingConversionService qui implémente l'interface ConversionService dans le module de formatage. Cette classe d'implémentation étend GenericConversionService, elle possède donc à la fois des fonctions de conversion de type et de formatage. FormattingConversionService possède une classe d'usine FormattingConversionServiceFactoryBean, qui est utilisée pour construire la première. Nous devons enregistrer ce
<mvc:annotation-driven conversion-service="FormattingConversionServiceFactoryBean" />
JSR303
jsr303 est le cadre standard fourni par Java pour la vérification de la validité des données du bean. Il est déjà inclus dans JavaEE6.0. JSR303 spécifie les règles de validation en annotant les données standard telles que @NotNull et @Max sur les attributs Bean, et vérifie le Bean via l'interface de vérification annotée.
@NotEmpty @NotNull private String name; @NotNull @NotEmpty private String age; @NotNull @NotEmpty @Email private String email;
Nous utilisons la balise Form fournie par SpringMVC au premier plan et utilisons Form: chemin d'erreurs pour lier les attributs
@RequestMapping(value="/student",method=RequestMethod.POST) public String add(@Valid()Student student,BindingResult result){ if (!result.hasErrors()) {//判斷是否有格式轉(zhuǎn)換錯誤或者其他校驗(yàn)沒通過 userService.addStudent(student); return "redirect:list"; }else return "addPage"; }
Message d'invite SpringMvc Transformation internationale
<!-- 注冊國際化信息,必須有id,指定資源文件名稱,資源文件在src目錄下 --> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="message"></property> </bean>
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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.

Quelle est la différence entre SpringBoot et SpringMVC ? SpringBoot et SpringMVC sont deux frameworks de développement Java très populaires pour la création d'applications Web. Bien qu’ils soient souvent utilisés séparément, les différences entre eux sont évidentes. Tout d’abord, SpringBoot peut être considéré comme une extension ou une version améliorée du framework Spring. Il est con?u pour simplifier le processus d'initialisation et de configuration des applications Spring afin d'aider les développeurs

La différence entre spring et springmvc : 1. Positionnement et fonctions ; 2. Fonctions de base 3. Champs d'application ; Introduction détaillée?: 1. Positionnement et fonctions. Spring est un cadre de développement d'applications complet qui fournit l'injection de dépendances, la programmation orientée aspect, la gestion des transactions et d'autres fonctions. Il est con?u pour simplifier le développement d'applications au niveau de l'entreprise, et Spring MVC est le meilleur. Framework Spring. Un module qu'il contient est utilisé pour le développement d'applications Web et implémente le modèle MVC 2. Fonctions de base, etc.

SpringBoot et SpringMVC sont deux frameworks couramment utilisés dans le développement Java. Ils sont tous deux fournis par le framework Spring, mais ils présentent certaines différences dans leurs fonctions et leur utilisation. Cet article présentera respectivement les caractéristiques et les différences de SpringBoot et SpringMVC. 1. Caractéristiques de SpringBoot : Configuration simplifiée : SpringBoot simplifie considérablement le processus de configuration du projet grace au principe de convention sur la configuration. Il peut configurer automatiquement les paramètres requis par le projet et les développeurs

Les différences entre springboot et springmvc sont les suivantes : 1. Différentes significations ; 2. Différentes configurations ; 3. Différentes dépendances ; 4. Différentes périodes de développement 6. Différentes fa?ons d'implémenter la fonction d'empaquetage JAR ; Fonction fournie?; 8. Différentes fonctions?; 9. Différents supports de communauté et de documentation?;

Le r?le de l'intercepteur L'intercepteur de SpringMVC est similaire au filtre dans le développement de servlets, qui est utilisé pour pré-traiter et post-traiter le processeur. Les intercepteurs sont connectés en une cha?ne dans un certain ordre, et cette cha?ne est appelée cha?ne d'intercepteurs (InterceptorChain). Lors de l'accès à une méthode ou à un champ intercepté, les intercepteurs de la cha?ne d'intercepteurs seront appelés dans l'ordre dans lequel ils ont été précédemment définis. Les intercepteurs sont également la mise en ?uvre spécifique des idées AOP. La différence entre les intercepteurs et les filtres : Filtre (Filter) Le domaine d'utilisation de l'intercepteur (Intercepter) fait partie de la spécification du servlet et peut être utilisé par n'importe quel projet JavaWeb.

Analyser les similitudes et les différences entre SpringBoot et SpringMVC SpringBoot et SpringMVC sont des frameworks de développement très importants dans le domaine Java. Bien qu'ils fassent tous deux partie du framework Spring, il existe des différences évidentes en termes d'utilisation et de fonctionnalité. Cet article comparera SpringBoot et SpringMVC et analysera les similitudes et les différences entre eux. Tout d’abord, découvrons SpringBoot. PrintempsBo

Avec le développement d’Internet, les services Web deviennent de plus en plus courants. En tant qu'interface de programmation d'applications, JavaAPI lance constamment de nouvelles versions pour s'adapter aux différents scénarios d'application. En tant que framework open source populaire, SpringMVC peut nous aider à créer facilement des applications Web. Cet article explique en détail comment utiliser SpringMVC pour le traitement des services Web dans le développement JavaAPI, y compris la configuration de SpringMVC, l'écriture de contr?leurs et l'utilisation de
