[微服务] Spring开发最全最常用的注解总结

目录

 本文前言简介:

-> spring注解大全, 基本开发都包括了, 个别注解里面包含传送门

一 spring+springBoot常用注解

1. 最最基础的注解(源头) 

2.  定时调度任务(注解版)

3. springboot 启动类加载时方法执行, bean声明周期, 启动执行顺序

4. 常规开发bean操作

5. AOP常用注解   

6. 常规增删改查注解

7.lombok中常用参数

8. 数据库操作常用注解

9. mybatis plus常用注解

10. 常规功能,全局异常处理 跨域

二 springcloud 微服务 (nacos等)

1. 异步调用(线程池)

1.1 传送门:===> 

2. feign远程调用

2.1 注解三解释传送门: ==> 微服务: Feign调用GET请求找不到请求体实体类

2.2 分布式事务

2.3 微服务关键注解

2.4 redis缓存注解

2.5 rabbitmq常用注解


 本文前言简介:

-> spring注解大全, 基本开发都包括了, 个别注解里面包含传送门

单体和微服务注解都有 没有jpa hibernate啥的 只写主流技术的注解

微服务现在包含: nacos

技术包含 redis rabbitmq等

未来会加入 eureka zookeeper consul等

其中没有注释的注解 多数是太常用 基本都认识(暂时先没加), 

逐步完善, 注解是在是太多了~~~~~~

一 spring+springBoot常用注解

1. 最最基础的注解(源头) 

@SpringBootApplication 程序启动类注解

2.  定时调度任务(注解版)

@EnableScheduling    定时调度任务
@Scheduled           填写cron表达式 表示时间执行方式

3. springboot 启动类加载时方法执行, bean声明周期, 启动执行顺序

@Bean 标识该方法的返回值交给Spring容器管理
@Scope 控制多例和单例
@Lazy 懒加载
@PostConstruct 初始化方法
@PreDestroy 销毁方法
@Order(1) 执行顺序 数字越小越先执行
@Primary 优先执行

4. 常规开发bean操作

@Component 将当前类未来的对象交给容器管理
@Configuration 标识当前类是配置类
@ComponentScan 包扫描注解 扫描注解
@Autowired 按照类型进行注入
@Qualifier 按照名称进行注入
@Repository 标识持久层注解
@Controller 标识Controller层
@RestController 表示Controller类,同时要求返回值为JSON
@Mapper
@Service 标识Service层
@Value 为属性赋值 @Value("${key}")
@PropertySource 加载指定路径的配置文件properties

5. AOP常用注解   

@Aspect 标识当前类是一个切面类
@Pointcut 用于定义切入点表达式 表达式写法4种
@EnableAspectJAutoProxy 让AOP的注解有效果
@Before AOP-前置通知
@AfterReturning AOP-后置通知
@AfterThrowing AOP-异常通知
@After AOP-最终通知
@Around AOP-环绕通知

6. 常规增删改查注解

@RequestBody 参数接收时,将JSON串转化为java对象 json中的key与对象的属性一致.
@ResponseBody 将返回的数据转化为JSON串, 如果是字符串本身 原数据返回
@RequestMapping("/hello") 实现浏览器的请求路径与方法的映射
@PathVariable restFul结构,接收参数的注解.
@GetMapping("") 只能接收GET请求类型
@DeleteMapping("") 只能接收DELETE请求类型
@PostMapping("") 只能接收POST请求类型
@PutMapping("") 只能接收PUT请求类型
@PathVariable必须加上("参数名")  不加报错 放在service接口的参数前面

7.lombok中常用参数

@Data lombok动态生成get/set/toString/equals/hashcode等方法
@Accessors 控制是否开启链式加载结构
@NoArgsConstructor 生成无参构造方法
@AllArgsConstructor 生成全参构造方法
@EqualsAndHashCode 生成 equals and hashCode
@Synchronized        同步锁
@Slf4j               log日志
@SneakyThrows        throw异常处理

8. 数据库操作常用注解

@Mapper mybatis将当前的接口交给Spring容器管理. Map<类名小写,JDK动态代理对象>
@Param Mybatis中将参数封装为Map集合. @Param(“maxAge”) int maxAge
@Alias Mybatis中定义对象的别名 @Alias(“User”)
@MapperScan Mybatis中扫描指定包路径的接口 为其创建代理对象.
@Insert Mybatis 新增操作注解
@Update Mybatis 修改操作注解
@Delete Mybatis 删除操作注解
@Select Mybatis 查询操作注解
@Transactional Spring中用来控制事务

9. mybatis plus常用注解

@TableName(“item_cat”) MybatisPlus注解POJO与数据表绑定 注意表名
@TableId(type = IdType.AUTO) MybatisPlus注解 标识主键/主键自增
@TableField(exist = false) MybatisPlus注解 标识属性是否存在,及名称是否一致
@TableLogic  删除注解
@Version     乐观锁版本

10. 常规功能,全局异常处理 跨域

@SpringBootTest springboot测试类
@Test 俩包注意一下, spring的用长的可以不写public 普通的用短的
@RestControllerAdvice Controller层的全局异常处理
@ExceptionHandler 按照某种异常类型进行拦截
@CrossOrigin 允许跨域访问
@FunctionalInterface 接口唯一方法的标识

二 springcloud 微服务 (nacos等)

1. 异步调用(线程池)

1.1 传送门:===> 

@EnableAsync 开启异步
@Async 方法上添加

2. feign远程调用

2.1 注解三解释传送门: ==> 微服务: Feign调用GET请求找不到请求体实体类

@EnableFeignClient  远程调用 启动类添加
@FeignClient("服务名") service接口上添加
@SpringQueryMap  传递参数
@RequestHeader  传递请求头参数

2.2 分布式事务

@EnableTransactionManagement
@GlobalTransactional

2.3 微服务关键注解

@EnableDiscoveryClient
@RefreshScope
@SentinelResource 熔断降级注解

2.4 redis缓存注解

@EnableCaching
@Cacheable
@CachePut
@CacheEvict

2.5 rabbitmq常用注解

@RabbitListener  
@EnableRabbit
@RabbitHandler 
@Payload 
@Headers

 待续未完, 持续更新 覆盖常用技术注解, 如果有漏写的 评论区评论一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pingzhuyan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值