@Component
标注Spring管理的Bean,使用@Component注解在一个类上,表示将此类标记为Spring容器中的一个Bean
通过路径扫描来自动侦测以及自动装配到Spring容器中
@Controller
用于指示Spring类的实例是一个控制器,相对于实现Controller接口更加简单,使用Controller注解可以同时处理多个请求动作,更加灵活
使用@Controller标记一个类,使用他标记的类就是一个控制器类,Spring使用扫描机制查找应用程序中所有基于注解的控制器类,分发处理器会继续扫描使用了该注解的类的方法是, 并检测该方法是否使用了@RequestMapping注解的方法才是真正处理请求的处理器
@Service
@Service注解在类上,标记当前类是一个service类
加上该注解会将当前类自动注入spring容器中
@Repository
属于是Spring的注解,它用来标注访问层(dao层),它表示一个仓库,主要用于封装对于数据库的访问
@RestController
首先RestController注解相当于 @ResponseBody 和 @Controller 的结合
用于标注一个控制器类,返回的结果直接作为HTTP响应的内容,会自动将返回值转换为JSON或XML格式
@Autowired
可以对类成员变量,方法,构造函数进行标注,让spring完成bean自动装配的工作
使用@Autowired标注一个接口,会自动加载接口的实现类
注意:如果标注的接口有多个实现类,我们可以使用@Qualifier("beanld")标签将bean的ID作为参数使用,加载特定的类
@Resource
该注解和@Autowired注解都是用来实现依赖注入的,它可以根据名称来注入对应的Bean,可以通过指定name属性来指定要注入的Bean的名称
@Qualifier
限定描述符除了能根据名字进行注入,更能进行更细粒度的控制
可以指定bean作为参数使用,加载特定的类
@Primary
当有多个相同类型的bean时,使用@primarily来赋予bean更高的优先级
如果没有指定具体的Bean名成或者@Qualifier注解时,spring就会选择被@Primary注解标注的Bean注入
@Value
是Spring框架中的一个注解,用于将属性值注入到Bean的字段、构造方法参数、Setter方法或普通方法上。可以通过@Value注解直接指定属性的值
@ConfigurationProperties
属性配置的注解,与@Value注解相比,它更适用于批量注入属性。它可以将配置文件中的属性值批量注入到一个带有相同前缀的POJO(Plain Old Java Object)类中。
@RequestMapping
将HTTP请求映射到控制器方法上,@RequestMapping表示共享映射,如果没有指定请求方式,将接收GET,POST等等其他所有的HTTP请求方式
- @GetMapping
- @PostMapping
- @PutMapping
- @DeleteMapping
分别对应具体的HTTP请求方式的映射注解,都是HTTP方法特有的快捷方式@RquestMapping的变体
@RequestParam
将请求参数绑定到你控制器的方法参数上,可以指定参数的名称,是否必须,默认值等
@GetMapping
public Result page(@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "5") Integer pageSize,
Integer gender,String phone
){
PageBean pageBean = customerService.page(page,pageSize,gender,phone);
return Result.success(pageBean);
}
@PathVariable
用于将请求路径中的占位符参数绑定到方法的参数中
/**
* 根据id查询信息
* @param id
* @return
*/
@GetMapping("/{id}")
public Result getByid(@PathVariable Integer id){
Customer customer= customerService.getByid(id);
return Result.success(customer);
}
@RequestBody
用于将请求体的内容绑定到方法的参数上,可以将请求体的JSON格式数据转化为Java对象
/**
* 修改客户
*/
@PutMapping
public Result update(@RequestBody Customer customer){
customerService.update(customer);
return Result.success();
}
@ResponseBody
用于将方法的返回值直接以响应体的形式返回给客户端,可以将Java对象转化为JSON格式数据
@DateTimeFormat
一个用于日期时间格式化的注解,属于Spring框架中的注解,它可以应用于类的字段或方法的参数上,用于指定日期时间的格式。
在接收请求参数时,可以将字符串类型的日期时间转换为Java中的Date类型或其他日期时间类型
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate begin;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate end;
@RestControllerAdvice
@RestControllerAdvice是一个组合注解,用于定义全局异常处理器和全局数据绑定器。
它结合了@ControllerAdvice和@ResponseBody两个注解的功能
用于统一处理控制器(Controller)中的异常,并返回自定义的响应数据
@ExceptionHandler
@ExceptionHandler是一个单独的注解,用于在控制器(Controller)中定义局部异常处理方法。通过在特定的方法上添加该注解,可以捕获指定类型的异常,并进行相应的处理操作,例如返回特定的错误信息或执行其他业务逻辑
@Transactional
它可以应用于类级别或方法级别
- 类:@Transactional注解时,表示该类的所有公共方法都将被包装在一个事务中
- 方法:在方法级别上使用@Transactional注解时,表示该方法将被包装在一个独立的事务中
@Mapper
用来标记时Mapper层,用于表示接口或类为MyBatis的映射器(Mapper),通过在接口或类上添加@Mapper注解,可以告诉MyBatis框架将其作为映射器进行处理,从而可以在该接口或类中定义数据库操作的方法
-
@Insert 插入操作
-
@Update 修改操作
-
@Delete 删除操作
-
@Select 查询操作
以上四种注释都是在映射器接口的方法上定义的数据库操作
@Options
注解用于配置数据库操作的一些选项,例如设置主键自动生成、设置是否使用缓存等。通过在方法上添加@Options注解,并指定相应的选项,可以对数据库操作进行一些额外的配置
@Results
@Results注解用于定义多个@Result注解,它可以在一个地方集中定义多个映射关系。可以将@Results注解应用于查询语句的@Select、@Insert、@Update或@Delete注解上
@Result
@Result注解用于定义单个映射关系,它主要用于将查询结果集中的字段与Java对象的属性之间进行一一映射。可以将@Result注解应用于查询语句的@Select、@Insert、@Update或@Delete注解上,也可以将其应用于@Results注解中
Lombok库
@Data
可以自动生成类中的所有基本方法,包括getter,seter,toString,equals和hasCode等
@Getter
可以自动生成类中的getter方法
@Setter
可以自动生成类中的setter方法
@NoArgsConstructor
可以自动生成类中的无参构造方法
@AllArgsConstructor
可以自动生成类中的包含所有参数的构造方法
@Slf4j
可以自动生成一个名为log的静态日志记录器,用于在代码中进行日志输出
测试注解
@Test
用于标记测试方法,表示该方法是一个测试方法
@BeforeAll
用于标记在所有测试方法执行之前需要执行的方法
@AfterAll
用于标记在所有测试方法执行之后需要执行的方法
@BeforeEach
用于标记在每个测试方法执行之前需要执行的方法
@AfterEach
用于标记在每个测试方法执行之后需要执行的方法
@ParameterizedTest
用于标记参数化测试方法,可以使用不同的参数多次执行同一个测试方法
@ValueSource
用于提供基本类型或字符串类型的参数值,用于参数化测试
@CsvSource
用于提供CSV格式的参数值,用于参数化测试
标签:Web,Java,可以,用于,Result,注解,参数,方法,开发阶段 From: https://www.cnblogs.com/yifan0820/p/17903958.html