简单汇总SpringCloud 常用注解及其作用

学习不怕慢,就怕懒,不为模糊不清的未来而过分担忧,只为清清楚楚的现在而努力奋斗!

1.启动类常用注解@SpringBootApplication

包含了三个注解

1. @Configuration:表示将该类作用springboot配置文件类;
2. @EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置;
3. @ComponentScan:表示程序启动是,自动扫描当前包及子包下所有类;

2.服务发现

//@EnableDiscoveryClient 
 @EnableDiscoveryClient基于spring-cloud-commons,如果非eureka的注册中心,那么推荐使用@EnableDiscoveryClient。
 //@EnableEurekaClient
 @EnableEurekaClient基于spring-cloud-netflix,如果选用的注册中心是eureka,那么就推荐@EnableEurekaClient

3.扫包@ComponentScan 配置类@Configuration && @EnableAutoConfiguration

@ComponentScan 如果不设置basePackage的话 默认会扫描包的所有类,所以最好还是写上basePackage ;
@Configuration 表示这个类中定义了Bean,会把这个类中bean加载到spring容器中
@EnableAutoConfiguration表示 会在你开启某些功能的时候自动配置,这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用,并对Spring进行相应地设置。

4.@Mapper && @MapperScan

Mapper类上面添加注解@Mapper,这种方式要求每一个mapper类都需要添加此注解
 使用@MapperScan可以指定要扫描的Mapper类的包的路径(@MapperScan("com.demo.*.mapper") || @MapperScan("com.test.*.mapper", "com.demo.*.mapper"))

5.事务注解@EnableTransactionManagement && @Transactional

Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement (启注解事务管理,等同于xml配置方式的 <tx:annotation-driven />)开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactional 便可。

6.异步注解 @Async && @EnableAsync

@EnableAsync注解的意思是可以异步执行,就是开启多线程的意思。可以标注在方法、类上。
    为了让@Async注解能够生效,需要在Spring Boot的主程序中配置@EnableAsync
    @Async所修饰的函数不要定义为static类型,这样异步调用不会生效

7.@Bean && @Configuration

@Bean标注在方法上(返回某个实例的方法),等价于spring的xml配置文件中的<bean>,作用为:注册bean对象
    @Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文)

8.映射Mapping

@GetMapping &&  @PostMapping &&@PutMapping &&DeleteMapping
//Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。
@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。该注解将HTTP Post映射到 特定的处理方法上
@PutMapping是一个组合注解,是@RequestMapping(method = RequestMethod.PUT)的缩写。该注解将HTTP Put映射到 特定的处理方法上
@DeleteMapping是一个组合注解,是@RequestMapping(method = RequestMethod.Delete)的缩写。该注解将HTTP Delete映射到 特定的处理方法上

。

经验分享 程序员 微信小程序 职场和发展