目录
-> spring注解大全, 基本开发都包括了, 个别注解里面包含传送门
3. springboot 启动类加载时方法执行, bean声明周期, 启动执行顺序
2.1 注解三解释传送门: ==> 微服务: Feign调用GET请求找不到请求体实体类
本文前言简介:
-> 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
待续未完, 持续更新 覆盖常用技术注解, 如果有漏写的 评论区评论一下