SpringMVC est un framework MVC similaire à Struts2. Dans le développement réel, il reçoit la réponse à la demande du navigateur, traite les données, puis renvoie la page à afficher, mais il est beaucoup plus facile de démarrer que. Jambes de force2. Et en raison des problèmes de sécurité exposés par Struts2, SpringMVC est devenu le framework préféré de la plupart des entreprises.
Il existe de nombreuses annotations encapsulées dans springMVC. L'utilisation de ces annotations peut simplifier notre développement. Voici quelques annotations couramment utilisées :
1. @Controller
@Controller est utilisé pour marquer une classe, et la classe marquée avec elle est un objet SpringMVCController. Le processeur de répartition analysera la méthode de la classe à l'aide de cette annotation et détectera si la méthode est annotée avec @RequestMapping. @Controller définit simplement une classe de contrôleur et la méthode annotée avec @RequestMapping est le processeur qui gère réellement la requête. Le simple fait d'utiliser la marque @Controller sur une classe ne peut pas vraiment dire qu'il s'agit d'une classe de contrôleur de SpringMVC, car Spring ne la reconnaît pas pour le moment. Alors, comment Spring peut-il le reconnaître ? À l’heure actuelle, nous devons confier cette classe de contrôleur à Spring pour la gestion. Il existe deux manières :
(1) Définir l'objet bean de MyController dans le fichier de configuration SpringMVC.
(2) Dans le fichier de configuration SpringMVC, indiquez à Spring où trouver le contrôleur marqué @Controller.
2. @RequestMapping
L'annotation RequestMapping a six attributs Ci-dessous, nous la divisons en trois catégories pour l'explication
(1) valeur, méthode
valeur : spécifiez. L'adresse réelle de la requête, l'adresse spécifiée peut être en mode Modèle URI ;
méthode : spécifie le type de méthode de la requête, GET, POST, PUT, DELETE, etc. ; la valeur uri de
value peut être les trois catégories suivantes : Valeur spécifique ordinaire ; un type de valeur contenant une certaine variable ; un type de valeur contenant une expression régulière
(2)consomme, produit
consomme : Spécifie le type de contenu de soumission ; (Content-Type) pour traiter la requête, par exemple application/json, text/html;
produit : Spécifie le type de contenu à renvoyer Il ne sera renvoyé que si le type (Accepter) dans l'en-tête de la requête contient le. type spécifié ;
(3) params, headers
params : Cette méthode ne traitera la requête que si elle doit contenir certaines valeurs de paramètres.
en-têtes : la requête spécifiée doit contenir certaines valeurs d'en-tête spécifiées pour que cette méthode puisse traiter la requête.
3. @Resource et @Autowired
@Resource et @Autowired sont tous deux utilisés pour l'injection de bean. En fait, @Resource n'est pas une annotation de Spring. .annotation.Resource doit être importé, mais Spring prend en charge l'injection de cette annotation, et les deux peuvent être écrites sur des champs et des méthodes de définition. Si les deux sont écrits sur les champs, il n'est pas nécessaire d'écrire des méthodes de définition.
4.@PathVariable
est utilisé pour mapper les variables de modèle dans l'URL de la requête aux paramètres de la méthode de traitement de fonction, c'est-à-dire supprimer les variables dans le modèle uri comme paramètres.
5.@ResponseBody
Fonction : Cette annotation est utilisée pour convertir l'objet renvoyé par la méthode Controller dans le format spécifié via le HttpMessageConverter approprié, puis l'écrire dans le corps de la zone de données de l’objet Réponse.
Durée d'utilisation : lorsque les données renvoyées ne sont pas une page avec des balises HTML, mais des données dans un autre format (comme json, xml, etc.), utilisez
6.@RestController
Nous voyons souvent certains contrôleurs implémenter l'API REST, uniquement pour servir du contenu JSON, XML ou autre type personnalisé. @RestController est utilisé pour créer des contrôleurs de type REST, et le type @Controller. @RestController est un type qui vous empêche d'écrire à plusieurs reprises @RequestMapping et @ResponseBody.
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!