@Manette |
Annotation combinée (combinée à l'annotation @Component), appliquée dans la couche MVC (couche de contrôle), DispatcherServlet analysera automatiquement la classe annotée, puis mappera la demande Web à la méthode annotée @RequestMapping |
@Un service |
Annotation combinée (annotation @Component combinée), appliquée dans la couche service (couche logique métier) |
@Reponsitory |
Annotation combinée (combinée avec l'annotation @Component), appliquée dans la couche dao (couche d'accès aux données) |
@Composant |
Indique qu'une classe annotée est un "composant" et devient un bean géré par Spring. Lorsque vous utilisez une configuration basée sur des annotations et une analyse du chemin de classe, ces classes sont considérées comme des candidats à la détection automatique. En même temps, @Component est toujours une méta-annotation. |
@Autowired |
Outils fournis par Spring (injectés automatiquement par les outils d'injection de dépendances de Spring (BeanPostProcessor, BeanFactoryPostProcessor).) |
@Ressource |
Notes fournies par JSR-250 |
@Injecter |
Notes fournies par JSR-330 |
@Configuration |
Déclarez que la classe actuelle est une classe de configuration (équivalente à un fichier XML de configuration Spring) |
@ComponentScan |
Analyser automatiquement toutes les classes à l'aide de @Service, @Component, @Controller, @Repository sous le package spécifié et vous inscrire |
@Haricot |
Annotation sur la méthode, déclarez que la valeur de retour de la méthode actuelle est un Bean. La méthode init () et la méthode destroy () peuvent être définies dans la classe correspondant au bean retourné, puis définies dans @Bean (initMethod = "init", destroyMethod = "destroy"), exécuter init après la construction et détruire avant la destruction. |
@Aspect |
Déclarer un aspect (c'est-à-dire qu'il s'agit d'une fonction supplémentaire) |
@Après |
Les avis de publication sont exécutés avant la méthode d'origine. |
@Avant |
Le pré-conseil (conseil) est exécuté après la méthode d'origine. |
@Environ |
Conseils autour (conseils), exécutés avant l'exécution de la méthode d'origine, puis exécutés après l'exécution de la méthode d'origine (@Around peut implémenter les deux autres types de conseils) |
@PointCut |
Déclarez les coupes de points, c.-à-d. Définissez les règles d'interception et déterminez les méthodes qui seront coupées |
@Transactional |
Déclarez les transactions (la configuration générale par défaut peut répondre aux exigences, bien sûr, vous pouvez également la personnaliser) |
@Cacheable |
Déclaration du cache de données |
@EnableAspectJAutoProxy |
Activer le support de Spring pour AspectJ |
@Valeur |
Cela vaut la peine d'être injecté. Souvent utilisé avec le langage d'expression Sping EL pour injecter des caractères ordinaires, des attributs système, des résultats d'opération d'expression, d'autres attributs de bean, du contenu de fichier, du contenu de demande d'URL, des valeurs d'attribut de fichier de configuration, etc. |
@PropertySource |
Spécifiez l'adresse du fichier. Fournit un mécanisme déclaratif pratique pour ajouter PropertySource à l'environnement de Spring. Utilisé avec la classe @configuration. |
@PostConstruct |
Marquée sur la méthode, la méthode est exécutée une fois l'exécution du constructeur terminée. |
@PreDestroy |
Marquée sur la méthode, la méthode est exécutée avant que l'objet ne soit détruit. |
@Profil |
Indique que lorsqu'un ou plusieurs fichiers spécifiés sont actifs, un composant est éligible à l'enregistrement. Utilisez la classe ou la méthode d'annotation @Profile pour obtenir le choix d'instancier différents beans dans différentes situations. @Profile ("dev") signifie instancié lorsque dev. |
@EnableAsync |
Activez la prise en charge des tâches asynchrones. L'annotation est sur la classe de configuration. |
@Async |
L'annotation indique que cette méthode est une méthode asynchrone et que toutes les méthodes de cette classe sont des méthodes asynchrones sur la classe. |
@EnableScheduling |
Remarque Dans la classe de configuration, la prise en charge des tâches planifiées est activée. |
@Programmé |
Remarque sur la méthode, indiquant que la méthode est une tâche planifiée. Prise en charge de plusieurs types de tâches planifiées: cron, fixDelay, fixRate |
@Conditionnel |
Créer des beans spécifiques basés sur la satisfaction d'une condition spécifique |
@Activer* |
通过简单的@Enable*来开启一项功能的支持。所有@Enable*注解都有一个@Import注解,@Import是用来导入配置类的,这也就意味着这些自动开启的实现其实是导入了一些自动配置的Bean(1.直接导入配置类2.依据条件选择配置类3.动态注册配置类) |
@RunWith |
这个是Junit的注解,springboot集成了junit。一般在测试类里使用:@RunWith(SpringJUnit4ClassRunner.class) — SpringJUnit4ClassRunner在JUnit环境下提供Sprng TestContext Framework的功能 |
@ContextConfiguration |
用来加载配置ApplicationContext,其中classes属性用来加载配置类:@ContextConfiguration(classes = {TestConfig.class(自定义的一个配置类)}) |
@ActiveProfiles |
用来声明活动的profile–@ActiveProfiles(“prod”(这个prod定义在配置类中)) |
@EnableWebMvc |
用在配置类上,开启SpringMvc的Mvc的一些默认配置:如ViewResolver,MessageConverter等。同时在自己定制SpringMvc的相关配置时需要做到两点:1.配置类继承WebMvcConfigurerAdapter类2.就是必须使用这个@EnableWebMvc注解。 |
@RequestMapping |
用来映射web请求(访问路径和参数),处理类和方法的。可以注解在类和方法上,注解在方法上的@RequestMapping路径会继承注解在类上的路径。同时支持Serlvet的request和response作为参数,也支持对request和response的媒体类型进行配置。其中有value(路径),produces(定义返回的媒体类型和字符集),method(指定请求方式)等属性。 |
@ResponseBody |
将返回值放在response体内。返回的是数据而不是页面 |
@RequestBody |
允许request的参数在request体中,而不是在直接链接在地址的后面。此注解放置在参数前。 |
@PathVariable |
放置在参数前,用来接受路径参数。 |
@RestController |
组合注解,组合了@Controller和@ResponseBody,当我们只开发一个和页面交互数据的控制层的时候可以使用此注解。 |
@ControllerAdvice |
用在类上,声明一个控制器建言,它也组合了@Component注解,会自动注册为Spring的Bean。 |
@ExceptionHandler |
用在方法上定义全局处理,通过他的value属性可以过滤拦截的条件:@ExceptionHandler(value=Exception.class)–表示拦截所有的Exception。 |
@ModelAttribute |
将键值对添加到全局,所有注解了@RequestMapping的方法可获得次键值对(就是在请求到达之前,往model里addAttribute一对name-value而已)。 |
@InitBinder |
通过@InitBinder注解定制WebDataBinder(用在方法上,方法有一个WebDataBinder作为参数,用WebDataBinder在方法内定制数据绑定,例如可以忽略request传过来的参数Id等)。 |
@WebAppConfiguration |
一般用在测试上,注解在类上,用来声明加载的ApplicationContext是一个WebApplicationContext。他的属性指定的是Web资源的位置,默认为src/main/webapp,我们可以修改为:@WebAppConfiguration(“src/main/resources”)。 |
@EnableAutoConfiguration |
此注释自动载入应用程序所需的所有Bean——这依赖于Spring Boot在类路径中的查找。该注解组合了@Import注解,@Import注解导入了EnableAutoCofigurationImportSelector类,它使用SpringFactoriesLoader.loaderFactoryNames方法来扫描具有META-INF/spring.factories文件的jar包。而spring.factories里声明了有哪些自动配置。 |
@SpingBootApplication |
SpringBoot的核心注解,主要目的是开启自动配置。它也是一个组合注解,主要组合了@Configurer,@EnableAutoConfiguration(核心)和@ComponentScan。可以通过@SpringBootApplication(exclude={想要关闭的自动配置的类名.class})来关闭特定的自动配置。 |
@ImportResource |
虽然Spring提倡零配置,但是还是提供了对xml文件的支持,这个注解就是用来加载xml配置的。例:@ImportResource({“classpath |
@ConfigurationProperties |
将properties属性与一个Bean及其属性相关联,从而实现类型安全的配置。例:@ConfigurationProperties(prefix=”authot”,locations={“classpath |
@ConditionalOnBean |
条件注解。当容器里有指定Bean的条件下。 |
@ConditionalOnClass |
条件注解。当类路径下有指定的类的条件下。 |
@ConditionalOnExpression |
条件注解。基于SpEL表达式作为判断条件。 |
@ConditionalOnJava |
条件注解。基于JVM版本作为判断条件。 |
@ConditionalOnJndi |
条件注解。在JNDI存在的条件下查找指定的位置。 |
@ConditionalOnMissingBean |
条件注解。当容器里没有指定Bean的情况下。 |
@ConditionalOnMissingClass |
条件注解。当类路径下没有指定的类的情况下。 |
@ConditionalOnNotWebApplication |
条件注解。当前项目不是web项目的条件下。 |
@ConditionalOnResource |
条件注解。类路径是否有指定的值。 |
@ConditionalOnSingleCandidate |
条件注解。当指定Bean在容器中只有一个,后者虽然有多个但是指定首选的Bean。 |
@ConditionalOnWebApplication |
条件注解。当前项目是web项目的情况下。 |
@EnableConfigurationProperties |
注解在类上,声明开启属性注入,使用@Autowired注入。例:@EnableConfigurationProperties(HttpEncodingProperties.class)。 |
@AutoConfigureAfter |
在指定的自动配置类之后再配置。例:@AutoConfigureAfter(WebMvcAutoConfiguration.class) |