spring中常用注解

发布时间 2023-04-10 12:52:31作者: patcholi
  1. @Configuration 标识当前类是配置类

  2. @ComponentScan 包扫描注解 扫描注解

  3. @Bean 标识该方法的返回值交给Spring容器管理

  4. @Scope 控制多例和单例

  5. @Lazy 懒加载

  6. @PostConstruct 初始化方法

  7. @PreDestroy 销毁方法

  8. @Component 将当前类未来的对象交给容器管理

  9. @Autowired 按照类型进行注入

  10. @Qualifier 按照名称进行注入

  11. @Repository 标识持久层注解

  12. @Service 标识Service层

  13. @Controller 标识Controller层

  14. @Value 为属性赋值 @Value("${key}")

  15. @PropertySource 加载指定路径的配置文件properties

  16. @Aspect 标识当前类是一个切面类

  17. @Pointcut 用于定义切入点表达式 表达式写法4种

  18. @EnableAspectJAutoProxy 让AOP的注解有效果

  19. @Before AOP-前置通知

  20. @AfterReturning AOP-后置通知

  21. @AfterThrowing AOP-异常通知

  22. @After AOP-最终通知

  23. @Around AOP-环绕通知

  24. @Order(1) //可以利用order关键字 实现AOP的排序 数字越小越先执行.

  25. @ResponseBody 将返回的数据转化为JSON串, 如果是字符串本身 原数据返回

  26. @RequestMapping("/hello") 实现浏览器的请求路径与方法的映射

  27. @PathVariable restFul结构,接收参数的注解.

  28. @GetMapping("") 只能接收GET请求类型

  29. @DeleteMapping("") 只能接收DELETE请求类型

  30. @PostMapping("") 只能接收POST请求类型

  31. @PutMapping("") 只能接收PUT请求类型

  32. @RestController 表示Controller类,同时要求返回值为JSON

  33. @CrossOrigin 允许跨域访问

  34. @RequestBody 参数接收时,将JSON串转化为java对象 json中的key与对象的属性一致.

  35. @Data lombok动态生成get/set/toString/equals/hashcode等方法

  36. @Accessors 控制是否开启链式加载结构

  37. @NoArgsConstructor 生成无参构造方法

  38. @AllArgsConstructor 生成全参构造方法

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

  40. @Mapper mybatis将当前的接口交给Spring容器管理. Map<类名小写,JDK动态代理对象>

  41. @Param Mybatis中将参数封装为Map集合. @Param(“maxAge”) int maxAge

  42. @Alias Mybatis中定义对象的别名 @Alias(“User”)

  43. @MapperScan Mybatis中扫描指定包路径的接口 为其创建代理对象.

  44. @Insert Mybatis 新增操作注解

  45. @Update Mybatis 修改操作注解

  46. @Delete Mybatis 删除操作注解

  47. @Select Mybatis 查询操作注解

  48. @Transactional Spring中用来控制事务

  49. @RestControllerAdvice Controller层的全局异常处理

  50. @ExceptionHandler 按照某种异常类型进行拦截

 

spring

spring中的注解
@ComponentScan("com.jasg.demo")//扫描当前包和其子孙包,首先生效
@Configuration//当前的类标识为配置类,与.xml的效果一致
@Bean //相当于xml的反射机制,自己创建对象,将自己方法的返回值交给Spring容器管理

@Scope("singleton")//默认值 单例模式
@Scope("prototype")//多例模式

@Lazy //懒加载模式

@PostConstruct//创建对象之后立即调用
@PreDestroy//对象消亡时调用

@Component //将该类交给spring容器管理
@Autowired//将当前接口的实现类自动注入
@Qualifier("cat")//注解不能单独使用,必须配合Autowired使用,根据key进行注入
@Resource(name = "cat")//在功能上相当于: @Autowired+@Qualifier("cat")

@Repsitory//继承了@Component,标识持久层,将该类交给spring容器管理
@Service //也继承了@Component,标识业务层
@Controller//也继承了@Component,标识控制层,与页面进行交互

@value //为属性赋值
//加载单个配置文件,spring根据指定的路径加载properties配置文件,将数据添加到spring容器中
@PropertySource(value = "classpath:/addUser.properties",encoding = "UTF-8")
@PropertySources()//加载多个配置文件

@Aspect //标识该类是一个切面类,AOP类
@Pointcut //用于定义切入点表达式,有4种写法

@EnableAspectJAutoProxy //让spring中的AOP生效
@Before //AOP的前置通知
@AfterReTurning //AOP的后置通知
@AfterThrowing //AOP的异常通知
@After //AOP的最终通知
@Around //AOP的环绕通知

@Order(2)//环绕通知执行的顺序,第二个执行,数字越小执行顺序越靠前

 

# springmvc

@Controller 将该类首先交给SpringMVC管理之后将SpringMVC整体框架交给Spring管理.
@CrossOrigin 允许跨域访问
@ResponseBody 表示该方法的返回值都是JSON串结构,如果返回值为String类型,则不变,对象转换为json字符串

@RequestMapping("/hello") 实现浏览器的请求路径与方法的映射
@PathVariable restFul结构,接收参数的注解.
@GetMapping("") 只能接收GET请求类型
@DeleteMapping("") 只能接收DELETE请求类型
@PostMapping("") 只能接收POST请求类型
@PutMapping("") 只能接收PUT请求类型
@RestController 表示Controller类,同时要求返回值为JSON=>@Controller+@ResponseBody

@ResponseBody User转化为JSON串
@RequestBody JSON串转化为User对象,json中的key与属性一致

# mybatis

@Data lombok动态生成get/set/toString/equals/hashcode等方法
@Accessors(chain = true) //开启链式加载 重写set方法
@NoArgsConstructor 生成无参构造方法
@AllArgsConstructor 生成全参构造方法
@Mapper mybatis将当前的接口交给Spring容器管理. Map<类名小写,JDK动态代理对象>
@SpringBootTest 该注解的作用在进行代码测试时启动spring容器,之后动态的获取对象 注意包路径 主启动类的同包及子包中.

@Param Mybatis中将参数封装为Map集合. @Param(“maxAge”) int maxAge
@Alias Mybatis中定义对象的别名 @Alias(“User”)

@MapperScan Mybatis中扫描指定包路径的接口 为其创建代理对象.
@Insert Mybatis 新增操作注解
@Update Mybatis 修改操作注解
@Delete Mybatis 删除操作注解
@Select Mybatis 查询操作注解