当前位置: 首页 > 后端技术 > Java

注解

时间:2023-04-01 16:04:55 Java

@Component注解是在Spring框架中定义的,用来描述一般的bean对象@SpringBootTestSpringBoot项目中的单元测试类必须使用这个注解来描述@AutowiredSpring可以使用这个注解来描述属性,并告诉spring这个的值属性有spring注入@Lazy延迟创建对象实例,然后在使用时创建@Scope("prototype")多个实例作用域。每次从spring请求一个类的实例,都会创建一个新的对象@Scope("singleton")默认作用域是单例作用域,通常配合懒加载使用@PostConstruct//这个注解用来描述方法为生命周期初始化方法,在构造方法之前执行,可以在方法内部初始化@PreDestroy//该注解用于描述方法为生命周期销毁方法,在对象被销毁之前执行,以及可以进行一些资源释放操作。如果是单例作用域,生命周期初始化方法和生命周期销毁方法都会被执行,因为销毁是由spring容器负责的。相反,多实例作用域不会执行生命周期销毁方法,因为它不受spring容器管理。当该对象在内存中没有任何对它的引用时,它就会在GC被触发时被销毁。@Qualifier("xxx")需要配置Autowire注解,不能单独使用。它用于指定要注入的bean的名称。@Repository这个注解一般用来描述数据逻辑层的具体实现对象。这个对象应该交给spring管理@Mapper注解是MyBatis提供的,用来描述数据逻辑层的接口。MyBatis底层为接口创建一个实现类,实现类的对象交给spring管理。Spring会给它管理的bean命名,默认是interface。首字母小写,然后在类内部实现sqlsession对象与数据库的session。@MapperScan("Dao接口所在的包")这个注解是在SpringBoot项目中添加到启动类的说明。这个注解的作用是:扫描指定包下的接口,系统底层会生成对应的实现类。@Controller这个注解描述的对象就是controller请求的handler对象,我们通常称之为handler@RequestMapping注解用于在描述方法时定义requesturl到handler的方法映射@ResponseBody当使用这个注解描述控制层的handler方法,如果该方法的返回值是一个map或者pojo对象,系统底层会将其转换成json格式的字符串,然后响应给客户端@DateTimeFormat注解指定日期格式可以接收@RestController等同于@Controller+@ResponseBody,描述handler类型,用于定义该类是一个Controller请求处理对象。同时,类中的所有方法都默认添加了@ResponseBody注解。@DateTimeFormat注解指定可以接收的日期格式。@RequestParam注解用于描述方法参数和定义参数规则。1.方法参数变量的值,请求参数来自哪个2.方法参数变量是否可以不传值,如@RequestParam(required=true)如果使用Map封装请求数据,则必须使用此注释来描述它。数据。因为Map默认对响应数据进行封装,所以使用@GetMapping描述方法来处理GET请求。@RequestBody注解描述了方法参数。当客户端以post方式提交Json格式的数据时,@RequestBody注解描述的是方法参数,不能封装Get请求数据@RequestBody注解。当两个参数不能同时描述时@PathVariable注解描述的是方法的参数变量,表示这个参数的变量的值来自于url中的{}表达式给定的值@param:当早期的mybatis版本比较低,有多个方法参数,或者方法参数在动态sql中使用,需要用@param注解来描述参数@PutMapping一般用于请求修改数据@PostMapping一般使用用于请求添加数据@DeleteMapping一般用于请求删除数据由lombok提供一些注解:@Data该注解描述一个类时,会在编译时为该类生成get、set、toString、hashCode、equals等方法时候@ToString提供重写的t??oString方法@Setter提供set方法@Getter提供get方法@Slf4j:lombok在类上发现这个注解时,会为这个类创建一个log对象,它的变量log@AllArgsConstructor提供了一个完整的-参数构造函数@NoArgsConstructor提供了一个无参构造函数@ExceptionHandler描述了一个控制器中的异常处理方法@ControllerAdvice这个注解描述的类是一个全局的异常处理类。该类中可以定义多种异常处理方法。@RestControllerAdvice相当于AOP框架中的@ResponseBody+@ControllerAdvice注解。@Pointcut注解用于定义切入点bean(“spring容器名称中的bean”)这个bean表达式是切入点表达式定义的语法,它描述了一个bean或多个bean中所有方法的集合作为入口点;缺点是不能精确到具体方法@Aspect注解所描述的类型是切面对象类型。可以在这方面定义多个切入点和通知方法。@Around()注解描述的方法会在切入点执行前后执行。@Order注解可以用来设置切面的优先级@EnableAsync注解用来描述启动类。当我们再次运行启动类时,底层会帮我们配置一个当一个线程池的@Async注解描述了一个方法时,在spring中会被认为是一个异步入口方法。当这个入口点方法进行时,底层会通过通知方法获取线程池中的线程来调用入口点方法。但是这个注解不能直接用方法的返回值来描述方法,因为我们不知道底层异步操作什么时候结束。@Transactional注解描述的方法是事务入口点方法,执行时会通过通知方法增强事务