L'apprentissage le plus détaillé de springboot sur le Web - day04

Directeur d'usine Java 2021-10-14 05:01:52
apprentissage le taill springboot sur


JSR303Vérification des données

À propos de l'auteur

  • Présentation de l'auteur

Page d'accueil du blog:Page d'accueil de l'auteur

Introduction:JAVADomaine créateur de haute qualité、Un étudiant de troisième année、Participer à diverses compétitions provinciales pendant l'école、National race,Une série d'honneurs.

Concentre - toi sur moi.:Suivez mon matériel d'apprentissage、Tous les téléchargements de documents sont disponibles,Mise à jour quotidienne des articles,Inspirez - vous en tant queJAVASenior Program singe.

Voyons d'abord comment l'utiliser.

SpringbootOui.@validatedPour vérifier les données,Si les données sont anormales, l'exception est lancée uniformément,Pratique pour le traitement unifié du Centre d'exception.Nous allons écrire une note icinameNe peut supporter queEmailFormat;

1、AjoutervalidationDémarreur

<!-- AjoutervalidationDémarreur-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>

2、@EmailAjouter

package com.sxau.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.Email;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Component//Inscriptionbean
@Validated
@ConfigurationProperties(prefix = "dog")
public class Dog {

// @Value("Wangcai.")
@Email(message = "Mauvais format")
private String lastName;
@Value("3")
private Integer age;
}

Résultats des opérations :default message [Pas une adresse e - mail légale];

image-20210923132459083

Utiliser la vérification des données ,Peut garantir l'exactitude des données;

Paramètres communs

@NotNull(message="Le nom ne peut pas être vide")
private String userName;
@Max(value=120,message="L'âge maximum ne peut pas être vérifié120")
private int age;
@Email(message="La boîte aux lettres est mal formée")
private String email;
Inspection vide
@Null Vérifier que l'objet estnull
@NotNull Vérifier que l'objet n'est pasnull, Impossible de vérifier la longueur0La chaîne de
@NotBlank Vérifier si la chaîne de contrainte estNullEt parTrimEst plus long que0,Chaîne seulement,Et les espaces avant et arrière sont supprimés.
@NotEmpty Vérifier si l'élément de contrainte estNULLOuEMPTY. BooelanVérifiez
@AssertTrue Validation Boolean L'objet est true
@AssertFalse Validation Boolean L'objet est false
Contrôle de la longueur
@Size(min=, max=) Objet de validation(Array,Collection,Map,String)La longueur se situe - t - elle dans une plage donnée?
@Length(min=, max=) string is between min and max included.
Vérification de la date
@Past Validation Date Et Calendar Si l'objet est avant l'heure actuelle
@Future Validation Date Et Calendar Si l'objet est après l'heure actuelle
@Pattern Validation String Si l'objet est conforme aux règles d'une expression régulière
.......Attendez un peu!
En plus de ça,,Nous pouvons également personnaliser certaines règles de vérification des données

image-20210923134716861

Commutateur Multi - environnement

profile- Oui.SpringPrise en charge de différentes fonctions de configuration pour différents environnements,Vous pouvez activer différentes versions de l'environnement en activant,Permet un changement rapide d'environnement;( La priorité des différents emplacements est indiquée ci - dessous )

image-20210923134908911

Profils multiples

.Quand nous avons écrit le profil principal,Le nom du fichier peut être application-{profile}.properties/yml, Utilisé pour spécifier plusieurs versions d'environnement;

Par exemple:

application-test.properties Représente la configuration de l'environnement d'essai

application-dev.properties Représente la configuration de l'environnement de développement

MaisSpringbootCes profils ne démarrent pas directement,C'estUtilisation par défautapplication.propertiesProfil principal;

1595484043622

Nous avons besoin d'une configuration pour sélectionner l'environnement à activer :

# Comme spécifier l'utilisation dans le fichier de configuration devEnvironnement, Nous pouvons tester en définissant différents numéros de port ;
#On démarreSpringBoot, Vous pouvez voir que vous êtes passé à dev La configuration suivante est ;
spring.profiles.active=dev

yamlBlocs de documents multiples pour

EtpropertiesComme dans le profil,Mais utiliserymlPour implémenter, il n'est pas nécessaire de créer plusieurs profils, C'est plus pratique. !

server:
port: 8081
# Sélectionnez le bloc d'environnement à activer 
spring:
profiles:
active: test
---
server:
port: 8083
spring:
profiles: dev # Nom de l'environnement de configuration 
---
server:
port: 8084
spring:
profiles: test # Nom de l'environnement de configuration 

Attention!:SiymlEtpropertiesLes ports sont également configurés,Et aucun autre environnement n'est activé , Par défautpropertiesProfil!

Emplacement de chargement du profil

Il y a beaucoup de façons de charger les profils à l'extérieur , Nous choisissons le plus souvent , Configurer dans un fichier de ressources développé !

Documents de référence officiels pour la description des profils externeshttps://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-logging-color-coded-output

1595484511936

springboot Le démarrage scannera les positions suivantesapplication.propertiesOuapplication.ymlDocument asSpring bootProfil par défaut pour:

image-20210923134908911

Priorité1:Sous le chemin du projetconfigProfil du dossier
Priorité2:Profil sous le chemin du projet
Priorité3:Sous le chemin de la ressourceconfigProfil du dossier
Priorité4:Profil sous le chemin de la ressource

Priorité de haut en bas,Les configurations à haute priorité écrasent les configurations à faible priorité;

SpringBootLe Profil principal est chargé à partir de ces quatre emplacements;Configuration complémentaire;

Nous avons configuré un chemin d'accès au projet dans le profil le plus bas pour tester les problèmes de complémentarité ;

# Configurer le chemin d'accès du projet 
server.servlet.context-path=/ss

Développement,Conseils d'exploitation et d'entretien

Spécifier l'emplacement pour charger le profil

On peut encore passer parspring.config.locationPour changer l'emplacement par défaut du profil

Une fois le projet emballé,Nous pouvons utiliser la forme des arguments en ligne de commande,Spécifiez un nouvel emplacement pour le profil au démarrage du projet;

Cette situation, En général, l'exploitation et l'entretien ultérieurs font plus ,Même configuration,La priorité de profil spécifiée à l'extérieur est la plus élevée

java -jar spring-boot-config.jar --spring.config.location=F:/application.properties
版权声明
本文为[Directeur d'usine Java]所创,转载请带上原文链接,感谢
https://javamana.com/2021/10/20211013211944102N.html

  1. What are the new features of Java 10?
  2. What are the new features of Java 9?
  3. Is the report too ugly? Try this open source project reportplus!
  4. Spring 2021 report released: who is the real brother?
  5. À bientôt, docker.
  6. Recommend a super easy to use markdown editor
  7. Java 17 new features overview
  8. New developer friendly features after Java 8
  9. Concise and efficient eclipse collections API
  10. Practice of deploying spring boot microservices on kubernetes
  11. Garbage collectors in the new JDK: Shenandoah, ZGC and improved G1
  12. À bientôt, docker.
  13. Oracle exécute le format syntaxique d'une procédure stockée ou d'un lot
  14. [Azure Cloud Service] Azure Cloud Service ajoute des champs personnalisés pour le rôle Web (hôte IIS) (ajoute le champ user agent dans l'en - tête de demande http au Journal de sortie IIS)
  15. The Linux kernel will be implemented with the latest zstd
  16. JetBrains publishes the raw data of the developer ecosystem survey in 2021
  17. Linux 5.16 will support KVM and disable amd PSF function
  18. Linux 5.16 brings DisplayPort 2.0 initial support for amdgpu driver
  19. Announcement of the election results of the technical advisory committee of the Linux foundation in 2021
  20. Java虚拟机|JVM【适合初学者入门】
  21. Spring Cloud 2021.0.0-M2 发布
  22. [Azure Cloud Service] Azure Cloud Service ajoute des champs personnalisés pour le rôle Web (hôte IIS) (ajoute le champ user agent dans l'en - tête de demande http au Journal de sortie IIS)
  23. Spring Cloud 2021.0.0-M2 發布
  24. Java虛擬機|JVM【適合初學者入門】
  25. Spring Cloud 2021.0.0-m2 Release
  26. Machine virtuelle Java | JVM [convient aux débutants]
  27. 10412 Xiaopeng cars announced sales results in September
  28. Apprendre le mécanisme des événements Java
  29. Java script RPC (07) - timeout timeout Processing from zero
  30. Introduction à la page Web de rabbitmq (3)
  31. MySQL read - Write Separation Cluster Construction and Integration with mycat
  32. Analyse du principe du conteneur du CIO printanier
  33. Java面向对象基础
  34. Java communique avec les capteurs industriels via socket et DTu, RTU
  35. Xiaopeng automobile delivered 10412 units in September, with a monthly sales volume of more than 10000 for the first time
  36. Java Object Oriented Foundation
  37. Introduction au développement Android PDF, un tour pour vous apprendre à comprendre netty
  38. Hadoop Foundation - 01 - concepts de base
  39. Hadoop Foundation - 02 - Basic Structure
  40. Hadoop Foundation - 03 - hdfs (Hadoop Distributed File System) Basic Concepts
  41. Hadoop Foundation - 04 - hdfs API Programming
  42. Hadoop Foundation - 05 - hdfs Project (word Frequency Statistics)
  43. Hadoop Foundation - 06 - hdfs Data Read and write
  44. The "monthly test" report card of the new car built under the lack of core: Xiaopeng and Weilai took the lead in "breaking 10000", and the ideal plummeted by 25%
  45. Introduction to making arch linux software package
  46. Hard core observation 407 HTTPS everywhere browser extension is about to retire
  47. How to use busybox on Linux
  48. In 2021, the talent incentive plan of Linux foundation open source software School Park was officially launched
  49. It's not windows or Linux. Shrink is the "God operating system"
  50. Install anydesk on Ubuntu Linux
  51. 2021, can we recommend using Linux to play games?
  52. not exist:org.springframework.kafka.listener.AbstractMessageListenerContaingetContainerProperties()
  53. Are you sure HTTPS is asymmetric encryption for content encryption? See the answers and reasons
  54. MySQL online slow log query
  55. Java JDK server installation
  56. 手把手教你使用Java开发在线生成pdf文档
  57. Questions d'entrevue dans la base de données MySQL (dernière version 2021)
  58. Java零基础小白入门必做题汇总(建议收藏)第一篇
  59. Day15 Java Foundation
  60. Day16 Java Foundation