java的一些常用注解

1、什么是注解

注解就是源代码的元数据。Spring引入了注解,通过"@XXX"的方式,让注解与Java Bean紧密结合,既大大减少了配置文件的体积,又增加了Java Bean的可读性与内聚性。

2、常见的注解

(1)@Override:告诉编译器这个方法是一个重写方法。如果父类中不存在该方法,编译器便会报错,提示该方法没有重写父类中的方法。

(2)@Api:将类标记为Swagger资源。用在Controller类上。

(3)@RestController:用在Controller层。标识类传递给前端的数据类型为json(类中的方法如果想接受前端的数据还是需要在对应的方法参数中添加@RequestBody注解)。@RestController=@Controller+@ResponseBody

(4)@RequestMapping:一个用来处理请求地址映射的注解,可用于类或者方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

(5)@Autowired:自动装配,其作用是为了消除代码Java代码里面的getter/setter与bean属性中的property。

(6)@Entity:表示当前类为实体类。

(7)@Service:用于标注业务层组件。

(8)@Repository:用于标注数据访问组件,即DAO组件。

(9)@Component:泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

(10)@Transcational:当标于类前时, 标示类中所有方法都进行事物处理。

(11)@ApiOperation:描述一个类的一个方法,或者说一个接口。
@ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response = “接口返回参数类型”, notes = “接口发布说明”);其他参数可参考源码;

(12)@GetMapping:组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。对应查询,表明是一个查询URL映射

(13)@PutMapping:@RequestMapping(method = RequestMethod.PUT)的简写。对应更新,表明是一个更新URL映射

(14)@PostMapping:@RequestMapping(method = RequestMethod.POST)的简写
对应增加,表明是一个增加URL映射

(15)@DeleteMapping:@RequestMapping(method = RequestMethod.DELETE)的简写。对应删除,表明是一个删除URL映射

(16)@ApiModel:描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候。

Java中,注解(Annotations)是一种元数据,它们提供了一种为源代码添加额外信息的方式,这些信息可以被编译器、工具或运行时环境使用。Java开发中常用注解主要包括以下几个类别: 1. **编译时注解**: - `@Override`: 表示方法重写父类的方法,编译器会检查是否真的覆盖了基类的方法。 - `@Deprecated`: 标记为过时的方法或字段,提醒开发者应该替换为其他功能。 - `@SuppressWarnings`: 忽略特定的编译器警告。 2. **访问控制注解**: - `@VisibleForTesting`: 通常用于测试代码中,标记部分代码为只对测试可见。 - `@PackagePrivate`: 对于包级别的可见性,限制在同一个包内的类可以访问。 3. **类型安全注解**: - `@Autowired`: Spring框架中的注解,用于自动装配bean。 - `@FunctionalInterface`: 定义函数式接口,表明该接口只有一个抽象方法。 4. **编译期和运行期注解处理器(Annotation Processors)**: - `@Retention`: 指定注解应该在哪些阶段保留,如SOURCE(源代码级别)、CLASS(编译后)或RUNTIME(运行时)。 - `@Target`: 指定注解可以应用到哪些元素,如TYPE、FIELD、METHOD等。 5. **JPA注解**: - `@Entity`: 表示持久化实体类。 - `@Table`: 定义表映射相关的属性。 - `@Column`: 定义数据库列的映射。 6. **JSON注解**: - `@JsonProperty`: Jackson框架用来标记JSON属性的注解。 - `@JsonInclude`: 控制哪些字段在序列化或反序列化时包含或忽略。 7. **日志注解**: - `@Log4j2`: 使用Log4j2时,标记需要记录的日志点。 相关问题--: 1. Java中的`@Deprecated`注解有什么作用? 2. `@Autowired`注解Spring框架中的具体用途是什么? 3. 如何在Java中创建自定义注解并使用注解处理器?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值