1. Liste des annotations
@Springbootapplication: contient @componentscan, @configuration et @enableAutoConfiguration annotations. Où @ComponentScan permet à Spring Boot Scan à la classe de configuration et à l'ajouter au contexte du programme.
@Configuration équivaut au fichier de configuration XML de Spring; Le code Java peut vérifier la sécurité des types.
@EnableAutoConfiguration Configuration automatique.
@ComponentsCan Components Component SCANS pour découvrir et assembler automatiquement certains haricots.
@Component peut être utilisé avec CommandLinerUnner pour exécuter certaines tâches de base après le démarrage du programme.
L'annotation @RestController est une collection de @Controller et @ResponseBody, indiquant qu'il s'agit d'un haricot de contrôleur, et la valeur de retour de la fonction est directement remplie dans le corps de réponse HTTP. C'est un contrôleur de style repos.
@Autowired Importer automatiquement.
@Pathvariable obtient les paramètres.
@Jsonbackreference résout le problème de liaison externe imbriquée.
@RepositoryRestResourcePublic est utilisé avec le spring-boot-starter-data-rest.
2. Explication détaillée des annotations
@SpringBootApplication: Déclarez Spring Boot pour configurer automatiquement le programme avec la configuration nécessaire. Cette configuration équivaut à trois configurations: @configuration, @enableAutoConfiguration et @ComponentsCan.
package com.example.myproject; import org.springframework.boot.springApplication; import org.springframework.boot.autoconfigure.springbootapplication; @springbootapplication // identique à @configuration @enableAutoConfiguration @componentscan public class application {public static void main (string [] arges) {springApplication.run (application.class, args); }}@ResponseBody: Cela signifie que le résultat de retour de cette méthode est écrit directement dans le corps de réponse HTTP. Il est généralement utilisé lorsque les données sont obtenues de manière asynchrone et sont utilisées pour construire une API RESTful. Après avoir utilisé @RequestMapping, la valeur de retour est généralement analysée comme chemin de saut. Après avoir ajouté @ResponseBody, le résultat de retour ne sera pas analysé en tant que chemin de saut, mais sera directement écrit dans le corps de réponse HTTP. Par exemple, si vous obtenez des données JSON de manière asynchrone et ajoutez @ResponseBody, les données JSON seront renvoyées directement. Cette annotation sera généralement utilisée avec @RequestMapping. Exemple de code:
@RequestMapping ("/ test") @ResponseBody Public String test () {return "ok"; }@Controller: est utilisé pour définir la classe de contrôleur. Dans le projet Spring, le contrôleur est responsable du transfert de la demande d'URL envoyée par l'utilisateur à l'interface de service correspondante (couche de service). Généralement, cette annotation est dans la classe. Habituellement, la méthode doit être coordonnée avec l'annotation @requestmapping. Exemple de code:
@Controller @RequestMapping ("/ Demoinfo") publicClass DemoController {@autowired private Demoinfoservice DemoinfoService; @RequestMapping ("/ Hello") public Hello (map <String, objet> map) {System.out.println ("DemoController.Hello ()"); map.put ("Hello", "From templateController.hellohtml"); // Le modèle Hello.html ou Hello.ftl sera utilisé pour le rendu et l'affichage. retour "/ bonjour";}}@RestController: une collection de composants de couche de contrôle (tels que l'action dans les jambes de force), @ResponseBody et @Controller. Exemple de code:
package com.kfit.demo.web; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.restController; @RestController @RequestMapping ("/ Demoinfo2") publicClass DemoController2 {@RequestMapping ("/ test") public String test () {return "ok";}}@RequestMapping: fournit des informations de routage et est responsable de la cartographie des URL vers des fonctions spécifiques dans le contrôleur.
@EnableAutoConfiguration: Spring Boot Auto-Configuration: Essayez de configurer automatiquement votre application Spring en fonction des dépendances JAR que vous avez ajoutées. Par exemple, si HSQLDB existe sous votre ClassPath et que vous n'avez configuré aucune configuration manuelle de beans de connexion de base de données, nous configurerons automatiquement une base de données en mémoire. Vous pouvez ajouter l'annotation @EnableAutoConfiguration ou @springbootapplication à une classe @configuration pour sélectionner AutoConfiguration. Si vous constatez qu'une classe d'autoconfiguration spécifique que vous ne voulez pas est appliquée, vous pouvez utiliser l'attribut d'exclusion de l'annotation @EnableAutoConfiguration pour les désactiver.
@Componentscan: signifie que la classe découvrira automatiquement le composant de numérisation. La compréhension personnelle est équivalente à celle si vous numérisez une classe avec des annotations telles que @Component, @Controller, @Service, etc. et l'enregistrer en tant que bean, vous pouvez automatiquement collecter tous les composants Spring, y compris la classe @configuration. Nous utilisons souvent @ComponentScan Annotation pour rechercher des haricots et les importer en combinaison avec l'annotation @Autowired. Tous les composants de ressort peuvent être automatiquement collectés, y compris la classe @configuration. Nous utilisons souvent @ComponentScan Annotation pour rechercher des haricots et les importer en combinaison avec l'annotation @Autowired. S'il n'y a pas de configuration, Spring Boot scannera les classes sous le package où se trouve la classe de démarrage et le sous-package qui utilise les annotations de @Service, @Repository, etc.
@Configuration: équivalent à un fichier de configuration XML traditionnel. Si certaines bibliothèques tierces doivent utiliser des fichiers XML, il est recommandé d'utiliser toujours la classe @configuration comme classe de configuration principale du projet - vous pouvez utiliser l'annotation @importResource pour charger le fichier de configuration XML.
@Import: utilisé pour importer d'autres classes de configuration.
@ImportResource: utilisé pour charger le fichier de configuration XML.
@Autowired: Importez automatiquement des haricots dépendants
@Service: Composants généralement utilisés pour modifier la couche de service
@Repository: L'utilisation de l'annotation @Repository peut garantir que DAO ou les référentiels fournissent une traduction d'exception. La classe DAO ou des référentiels modifiée par cette annotation sera découverte et configurée par ComponetScan, et il n'est pas nécessaire de leur fournir des éléments de configuration XML.
@Bean: Utilisez la méthode d'annotation @Bean pour être équivalent au bean configuré dans XML.
@Value: Injectez la valeur de la propriété configurée par Spring Boot Application.Properties. Exemple de code:
@Value (value = "# {message}") Message de chaîne privée;@Inject: équivalent à la valeur par défaut @Autowired, mais sans l'attribut requis;
@Component: fait référence aux composants en général. Lorsque les composants ne sont pas faciles à classer, nous pouvons utiliser cette annotation pour annoter.
@Bean: Il est équivalent à XML, placé sur une méthode, pas une classe, ce qui signifie générer un haricot et le remettre à Spring Management.
@Autowired: Importez automatiquement des haricots dépendants. Méthode ByType. Utilisez les grains configurés pour compléter l'assemblage des propriétés et des méthodes. Il peut marquer les variables, méthodes et constructeurs des membres de la classe pour terminer les travaux d'assemblage automatique. Lorsque (requis = false) est ajouté, une erreur ne sera pas signalée même si le haricot ne peut être trouvé.
@Qualifier: Lorsqu'il y a plusieurs haricots du même type, vous pouvez utiliser @qualifier ("nom") pour le spécifier. Fonctionne avec @Autowired. En plus de l'injection en fonction du nom, les descripteurs de qualification @qualifier peuvent être utilisés pour effectuer des contrôles de granularité plus fins comment sélectionner les candidats. La méthode d'utilisation spécifique est la suivante:
@Autowired @qualifier (value = "DemoinfoService") DemoinfoService privé DemoinfoService;
@Resource (name = ”name”, type = ”type”): s'il n'y a pas de contenu entre parenthèses, la valeur par défaut est byname. Faites quelque chose de similaire à @Autowired.
3. Notes JPA
@Entity: @Table (name = ""): indique qu'il s'agit d'une classe d'entité. Généralement utilisé pour les deux annotations de JPA, mais si le nom de la table et le nom de la classe d'entité sont les mêmes, @Table peut être omis.
@MaptSuperclass: utilisé pour déterminer l'entité qui est la classe parent. La sous-classe d'attribut de la classe parent peut être héritée.
@NorepositoryBean: généralement utilisé comme référentiel de la classe parent. Avec cette annotation, Spring n'installera pas le référentiel.
@Column: Si le nom de champ est le même que le nom de la colonne, il peut être omis.
@Id: signifie que cet attribut est la clé principale.
@GeneratedValue (Strategy = GenerationType.Sequence, Generator = "Repair_Seq"): signifie que la stratégie de génération de clés principale est la séquence (peut être automatique, identité, native, etc., Auto signifie qu'il peut basculer entre plusieurs bases de données), et le nom de la séquence spécifiée est réparation_seq.
@SsenceGenerEtor (name = "réparation_seq", SequenCename = "SEQ_REPAIR", AllocationSize = 1): le nom est le nom de la séquence, de sorte que SequenCename est le nom de séquence de la base de données, et les deux noms peuvent être cohérents.
@Transient: signifie que cette propriété n'est pas une carte dans un champ dans la table de base de données, et le cadre ORM ignorera cette propriété. Si un attribut n'est pas une carte de champ d'une table de base de données, elle doit être marquée comme @Transient. Sinon, le cadre ORM est par défaut son annotation en tant que @Basic. @Basic (fetch = fetchType.lazy): la balise peut spécifier comment les attributs d'entité sont chargés
@Jsonignore: La fonction consiste à ignorer certaines propriétés dans le bean Java lors de la sérialisation JSON, et la sérialisation et la désérialisation sont affectées.
@Joincolumn (name = ”Loginid”): One-to-one: Clés étrangères dans ce tableau pointant vers un autre tableau. One-à-plusieurs: Un autre tableau pointe vers la clé étrangère de ce tableau.
@OnetoOne, @Onetomany, @ManyToOne: correspondant à un à un, un à plusieurs et plusieurs à un dans le fichier de configuration Hibernate.
4. Notes liées à Springmvc
@RequestMapping: @RequestMapping ("/ Path") signifie que le contrôleur gère toutes les demandes d'URL pour "/ path". La mise en œuvre de la demande est une annotation utilisée pour gérer les mappages d'adresse de demande et peut être utilisée sur les classes ou les méthodes.
Pour une utilisation sur une classe, toutes les méthodes qui représentent ces demandes de réponse dans une classe prennent cette adresse comme chemin parent. Cette annotation a six attributs:
@RequestParam: utilisé avant le paramètre de la méthode.
@RequestParam String A = request.getParameter ("A"). @Pathvariable: pathvariable. Par exemple, requestMapping ("user / get / mac / {macAddress}") String public GetByMacAddress (@Pathvariable String macAddress) {// faire quelque chose; }Les paramètres doivent être les mêmes que les noms des accolades.
5. Gestion des exceptions globales
@ControllerAdvice: contient @Component. Peut être scanné. Gestion des exceptions unifiées.
@ExceptionHandler (exception.class): utilisé sur la méthode pour indiquer que si vous rencontrez cette exception, vous exécuterez la méthode suivante.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.