注解收录
- 一 ,注解收录
- 1. @Configuration
- 2. @ComponentScan
- 3. @Bean
- 4. @Scope
- 5. @Lazy
- 6. @PostConstruct
- 7. @PreDestroy
- 8. @Component
- 9. @Autowired
- 10. @Qualifier
- 11. @Controller
- 12. @Service
- 13. @Repository
- 14. @Value
- 15. @PropertySource
- 16. @Aspect
- 17. @EnableAspectJAutoProxy
- 18. @Pointcut
- 19. @Before
- 20. @Target
- 21. @Retention
- 22. @AfterReturning
- 23. @AfterThrowing
- 24. @After
- 25. @Around
- 26.@Order
- 27.@RequestMapping
- 28. @ResponseBody
- 29. @PathVariable
- 30. @GetMapping
- 31. @DeleteMapping
- 32. @PutMapping
- 33. @PostMapping
- 34. @RestController
- 35. @CrossOrigin
- 36. @RequestBody
- 37.@Data
- 38. @Accessors(chain = true)
- 39. @NoArgsConstructor
- 40. @AllArgsConstructor
- 41. @Param
- 42. @SpringBootTest
- 43. @Alias
- 44. @Mapper
- 45. @MapperScan
- 46. @Transactional
- 47. @Insert Mybatis
- 48. @Update Mybatis
- 49. @Delete Mybatis
- 50. @Select Mybatis
- 51. @RestControllerAdvice
- 52. @ExceptionHandler
- 53.@TableName
- 54. @TableId
- 55. @TableField
- 56. @TableField
- 57. @LoadBalanced
- 58. @EnableFeignClients
- 59. @FeignClient
- 60.@RefreshScope
一 ,注解收录
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对象的方式,对属性进行了重新初始化)。