项目常用注解

一 ,注解收录

1. @Configuration

[kənˌfɪɡəˈreɪʃ(ə)n]
@Configuration
标记当前类是配置类,其实就是配置文件

2. @ComponentScan

[kəmˈpoʊnənt skæn]
@ComponentScan("包的全路径")
根据指定的包路径扫描注解,扫描当前包及其子孙包

3. @Bean

[bin]
@Bean
配置类中的方法必须使用@Bean的注解标识,spring才会执行该方法,标识该对象要交给Spring容器

4. @Scope

[skoʊp]
@Scope("prototype")//表示多例对象–所有的多例对象都是懒加载
@Scope("singleton")//表示单例对象

5. @Lazy

[ˈleɪzi]
@Lazy开启懒加载

6. @PostConstruct

[poʊst ˈkɑnˌstrʌkt]
@PostConstruct//构造方法之后执行

7. @PreDestroy

[dɪˈstrɔɪ]
@PreDestroy //销毁方法之前执行

8. @Component

[kəmˈpoʊnənt]
@Component:将该类交给Spring容器管理 key:dog,value:反射机制创建对象

9. @Autowired

[ˈɔtoʊ ˈwaɪrd]
Spring的依赖注入-自动装配
注入:将Spring容器中的对象进行引用
@Autowired:可以将容器中的对象进行注入
1.按照类型注入 :@Autowired
如果注入的类型是接口,则自动的查找其实现类对象进行注入(默认)
注意事项:一般Spring框架内部的接口都是单实现,特殊条件下可以多实现
2.按照名称注入:@Autowired + @Qualifier("dog")

10. @Qualifier

[ˈkwɑləˌfaɪər]
当接口多实现时,按照名称进行注入,需要配合使用
@Autowired
@Qualifier(value=“cat”)

11. @Controller

[kənˈtroʊlər]
Controller层 主要与页面进行交互@Controller
将该类首先交给SpringMVC进行管理,之后将SpringMVC框架整体 交给Spring管理

12. @Service

[ˈsɜrvɪs]
Service层 主要实现后端的业务逻辑 @Service

13. @Repository

[rɪˈpɑzəˌtɔri]
Dao层/Mapper层 主要与数据库进行交互 也把该层称之为 “持久层”@Repository

14. @Value

可以通过@value注解动态为属性赋值.
从spring容器中动态获取数据
@Value("${key}")

15. @PropertySource

[ˈprɑpərti sɔrs]
Spring根据指定的路径,加载properties配置文件,数据添加到spring容器中
@PropertySource(value = "classpath:/addUser.properties",encoding = "utf-8")

16. @Aspect

[ˈæspekt]
@Aspect
指定当前类是一个切面类

17. @EnableAspectJAutoProxy

[ɪnˈeɪb(ə)l ˈæspekt ]
@EnableAspectJAutoProxy
让spring中的AOP生效

18. @Pointcut

[pɔɪnt kʌt]
@Pointcut(切入点):切入点表达式

19. @Before

[bɪˈfɔr]
@Before切面注解的前置通知

20. @Target

[ˈtɑrɡət]
@Target(ElementType.METHOD)
设置注解在方法上有效

21. @Retention

[rɪˈtenʃ(ə)n]
@Retention(RetentionPolicy.RUNTIME)
设置注解在运行期有效

22. @AfterReturning

[ˈæftər rɪˈtɜrn]
@AfterReturning
AOP的后置通知

23. @AfterThrowing

[ˈæftər θroʊ ]
@AfterThrowing
AOP的异常通知

24. @After

[ˈæftər ]
@After
AOP的最终通知

25. @Around

[əˈraʊnd]
@Around
AOP的环绕通知

26.@Order

[ˈɔrdər]
@Order(1)
可以利用order关键字 实现AOP的排序 数字越小越先执行.

27.@RequestMapping

[rɪˈkwest ˈmæpiŋ]
@RequestMapping("/hello") 注解可以定义不同的处理器映射规则
该路径必须与用户的访问路径一致,如果路径不一致,会报404异常,

28. @ResponseBody

[rɪˈspɒns ˈbɒdi]
@ResponseBody 返回值统一的JSON串
表示该方法的返回值都是JSON串结构,如果返回值类型为String类型,则原数据返回

29. @PathVariable

@PathVariable String name restFul结构,接收参数的注解

30. @GetMapping

@GetMapping("/user/{name}/{age}/{sex}") 接收GET类型的请求

31. @DeleteMapping

@DeleteMapping("/user/{name}/{age}/{sex}") 接收DELEAT类型的请求

32. @PutMapping

@PutMapping("/user/{name}/{age}/{sex}")接收UPDATE类型的请求

33. @PostMapping

@PostMapping("/user/{name}/{age}/{sex}")接收POST类型的请求

34. @RestController

@RestController ==> @Controller+@ResponseBody

35. @CrossOrigin

@CrossOrigin 允许跨域访问

36. @RequestBody

将JSON串转化为对象
完整的接受 post 请求协议体数据

37.@Data

动态生成get/set/toString/equals/hashCode/等

38. @Accessors(chain = true)

开启链式加载 重写set方法

39. @NoArgsConstructor

无参构造

40. @AllArgsConstructor

全参构造

41. @Param

将参数封装为map集合

42. @SpringBootTest

该注解的作用在进行代码测试时启动spring容器,之后动态的获取对象 注意包路径 主启动类的同包及子包中.

43. @Alias

@Alias(“User”)将一些复杂不容易输入的类型注册为一个新的别名

44. @Mapper

将接口交给Spring容器管理 Map<userMapper,JDK代理对象>

45. @MapperScan

@MapperScan("com.jt.mapper") 根据指定的包路径为接口创建代理对象,交给Spring容器管理

46. @Transactional

@Transactional事务的注解,将多个SQLSession控制为一个

47. @Insert Mybatis

@Insert("insert into dept values (null,#{deptName})")新增操作注解

48. @Update Mybatis

修改操作注解

49. @Delete Mybatis

删除操作注解

50. @Select Mybatis

@Select("select * from dept")查询操作注解

51. @RestControllerAdvice

@RestControllerAdvice
Spring专门为解决异常问题,开发了针对Controller层的注解
注解的核心就是Spring-AOP

52. @ExceptionHandler

@ExceptionHandler(RuntimeException.class)
\切入点表达式,拦截运行时异常

53.@TableName

@TableName("User")对象与表一一映射

54. @TableId

@TableId(type = IdType.AUTO)设置主键自增

55. @TableField

@TableField("Username")属性与字段映射 如果属性名称与字段一致则省略

56. @TableField

@TableField(exist=false)
标识属性是否存在,以及名称是否一致

57. @LoadBalanced

@LoadBalanced
注解描述RestTemplate对象时,是告诉底层为RestTemplate 对象注入以后一个负载均衡拦截器,当我们使用RestTemplate进行远程服务调用时, 首先执行负载均衡拦截器中的方法,在方法内部,基于服务发现这种机制,从nacos获取 服务实例,然后在进行远程调用

58. @EnableFeignClients

@EnableFeignClients
注解用于描述配置类,告诉系统底层,在启动服务时 扫描使用@FeignClients注解描述的接口,并为这些接口创建实现类对象(代理对象), 然后再在这样的对象内部,可以进行远程服务调用

59. @FeignClient

@FeignClient(value = "sca-provider")
你要调用哪个服务,要访问服务中的什么资源,
问题:
1)通过谁声明调用哪个服务? @FeignClient
2)@FeignClient中Value属性的含义?(两层含义)
2.1)你要访问远端服务的服务名
2.2)当前接口对应的实现类交给spring管理时,Bean的名字,
当然,假如不想让value属性的值作为bean对象的名字,可以
通过contextId属性指定一个名字.

60.@RefreshScope

@RefreshScope
作用是在配置中心的相关配置发生变化以后,能够及时看到类中属性值的更新(底层是通过重新创建Controller对象的方式,对属性进行了重新初始化)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

java小鲤鱼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值