Java开发常用注解总结

springboot 注解

注解用法
@SpringBootApplication启动注解 @Configuration + @EnableAutoConfiguration + @ComponentScan
@ResponseBodyRESTful,配合@RequestMapping一起使用
@Controller配合注解@RequestMapping
@RestController@ResponseBody + @Controller
@RequestMapping提供路由信息,URL到Controller中的具体函数的映射
@EnableAutoConfiguration如果发现应用了你不想要的特定自动配置类,你可以使用@EnableAutoConfiguration注解的排除属性来禁用它们
@ComponentScan可以自动收集所有的Spring组件
@Import导入其他配置类
@ImportResource加载xml配置文件
@Autowired根据类型进行自动装配,自动导入依赖的bean,当加上(required=false)时,就算找不到bean也不报错
@Repository这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项
@Value注入Spring boot application.properties配置的属性的值
@Inject等价于默认的@Autowired,只是没有required属性
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注
@Qualifier当有多个同一类型的Bean时,可以用@Qualifier(“name”)来指定。与@Autowired配合使用
@Resource(name=”name”,type=”type”):没有括号内内容的话,默认byName。与@Autowired干类似的事
@PathVariable{ “。。。。” },获取参数
@RequestParam用@RequestParam注解从请求参数中映射到控制器中的参数时,控制器的参数一定要用对象类型或简单类型的包装类;若想用简单类型去接收请求中的值,需要赋值一个默认值,写成如下的形式:@RequestParam(value = "lid", required = false, defaultValue = "0") int id)
@RequestBody获取到请求中的各个参数然后赋值到相对应的方法形参上
@Valid验证条件,@NotNull、@NotEmpty和@NotBlank要配合@Valid使用
@NotNull不能为null,但可以为empty,用在基本类型上
@NotEmpty不能为null,而且长度必须大于0,用在集合类上面
@NotBlank不能为null,只能作用在String上,而且调用trim()后,长度必须大于0

 

JPA 注解

注解用法
@Entity@Table(name=”“):表明这是一个实体类。一般用于jpa这两个注解一般一块使用,但是如果表名和实体类名相同的话,@Table可以省略
@ApiModelProperty@ApiModelProperty(name = "appCode", value = "应用标识,闪电链0"),value:字段说明,name:重写属性名字,dataType:重写属性类型,required:是否必须,默认false,example:举例,hidden:隐藏
@ApiOperation@ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response = “接口返回参数类型”, notes = “接口发布说明”)
@ApiParam@ApiParam(required = “是否必须参数”, name = “参数名称”, value = “参数具体描述”)
@Api@Api(value = "用户查询接口", tags = {"用户查询接口"}),value - 字段说明,description - 注释说明这个类
@MappedSuperClass用在确定是父类的entity上。父类的属性子类可以继承
@NoRepositoryBean一般用作父类的repository,有这个注解,spring不会去实例化该repository
@Column如果字段名与列名相同,则可以省略
@Id该属性为主键
@JsonIgnorejson序列化时将Java bean中的一些属性忽略掉,序列化和反序列化都受影响
@OneToOne一对一
@OneToMany一对多
@ManyToOne多对一

 

Lombok 注解

注解用法
@Setter生成setter方法,final变量不包含
@Getter生成getter方法,final变量不包含
@NoArgsConstructor生成空参构造
@AllArgsConstructor生成全部参数构造
@RequiredArgsConstructor将标记为@NoNull的属性生成一个构造器
@ToString生成所有属性的toString()方法
@EqualsAndHashCode生成equals()方法和hashCode方法
@Data=@Setter+@Getter+@EqualsAndHashCode+@NoArgsConstructor
@Builder构造Builder模式的结构,通过内部类Builder()进行构建对象,自动生成流式 set 值写法,从此之后再也不用写一堆 setter 了
@Value与@Data相对应的@Value, 两个annotation的主要区别就是如果变量不加@NonFinal ,@Value会给所有的弄成final的。当然如果是final的话,就没有set方法了
@Synchronized同步方法
@Cleanup @@SneakyThrows自动调用close方法关闭资源。
@Log4j注解在类上,为类提供一个 属性名为log 的 log4j 日志对象

 

Swagger2 注解

注解用法
@Api用在请求的类上,表示对类的说明。 tags="说明该类的作用,可以在UI界面上看到的注解" value="该参数没什么意义,在UI界面上也看到,所以不需要配置"
@ApiOperation用在请求的方法上,说明方法的用途、作用 value="说明方法的用途、作用" notes="方法的备注说明"
@ApiImplicitParams用在请求的方法上,表示一组参数说明
@ApiImplicitParam用在@ApiImplicitParams注解中,指定一个请求参数的各个方面 name:参数名 value:参数的汉字说明、解释 required:参数是否必须传 paramType:参数放在哪个地方 · header --> 请求参数的获取:@RequestHeader · query --> 请求参数的获取:@RequestParam · path(用于restful接口)--> 请求参数的获取:@PathVariable
@ApiResponses用在请求的方法上,表示一组响应
@ApiResponse用在@ApiResponses中,一般用于表达一个错误的响应信息 code:数字,例如400 message:信息,例如"请求参数没填好" response:抛出异常的类
@ApiModel用于响应类上,表示一个返回响应数据的信息 (这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)
@ApiModelProperty用在属性上,描述响应类的属性

 

MongoDB 注解

注解用法
@Id注解
@Document标注在实体类上,类似于hibernate的entity注解,标明由mongo来维护该表
@Indexed唯一索引的话是@Indexed(unique = true)
@CompoundIndex复合索引
@Field代表一个字段,可以不加,不加的话默认以参数名为列名
@Transient被该注解标注的,将不会被录入到数据库中。只作为普通的javaBean属性
@DBRef关联另一个document对象。类似于mysql的表关联,但并不一样,mongo不会做级联的操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.了解Spring 2.了解NoSQL和文档数据库 3.要求 4.其他帮助资源 4.1。支持 4.1.1。社区论坛 4.1.2。专业支持 4.2。发展之后 5.新&值得注意的 5.1。Spring Data MongoDB 2.1的新特性 5.2。Spring Data MongoDB 2.0的新特性 5.3。Spring Data MongoDB 1.10的新特性 5.4。Spring Data MongoDB 1.9的新特性 5.5。Spring Data MongoDB 1.8的新特性 5.6。Spring Data MongoDB 1.7有什么新功能 6.依赖 6.1。Spring Boot的依赖管理 6.2。Spring框架 7.使用Spring Data Repositories 7.1。核心概念 7.2。查询方法 7.3。定义存储库接口 7.3.1。微调储存库定义 7.3.2。空处理存储库方法 7.3.3。将存储库与多个Spring Data模块一起使用 7.4。定义查询方法 7.4.1。查询查询策略 7.4.2。查询创建 7.4.3。属性表达式 7.4.4。特殊参数处理 7.4.5。限制查询结果 7.4.6。流式查询结果 7.4.7。异步查询结果 7.5。创建存储库实例 7.5.1。XML配置 7.5.2。JavaConfig 7.5.3。独立使用 7.6。Spring Data存储库的自定义实现 7.6.1。定制个人存储库 7.6.2。自定义基础存储库 7.7。从聚合根发布事件 7.8。Spring数据扩展 7.8.1。Querydsl扩展 7.8.2。Web支持 7.8.3。存储库填充程序 7.8.4。传统网络支持 参考文档 8.介绍 8.1。文档结构 9. MongoDB支持 9.1。入门 9.2。示例存储库 9.3。用Spring连接到MongoDB 9.3.1。使用基于Java的元数据注册Mongo实例 9.3.2。使用基于XML的元数据注册Mongo实例 9.3.3。MongoDbFactory接口 9.3.4。使用基于Java的元数据注册MongoDbFactory实例 9.3.5。使用基于XML的元数据注册MongoDbFactory实例 9.4。MongoTemplate简介 9.4.1。实例化MongoTemplate 9.4.2。WriteResultChecking策略 9.4.3。WriteConcern 9.4.4。WriteConcernResolver 9.5。保存,更新和删除文档 9.5.1。如何_id在映射图层处理该字段 9.5.2。类型映射 9.5.3。保存和插入文件的方法 9.5.4。更新集合的文档 9.5.5。在集合插入文档 9.5.6。在集合查找和插入文档 9.5.7。删除文件的方法 9.5.8。乐观锁定 9.6。查询文件 9.6.1。查询集合的文档 9.6.2。查询文件的方法 9.6.3。查询不同的值 9.6.4。地理空间查询 9.6.5。GeoJSON支持 9.6.6。全文查询 9.6.7。排序规则 9.6.8。JSON模式 9.6.9。流利的模板API 9.7。按实例查询 9.7.1。介绍 9.7.2。用法 9.7.3。示例匹配器 9.7.4。执行一个例子 9.7.5。无类型示例 9.8。减少地图操作 9.8.1。使用示例 9.9。脚本操作 9.9.1。使用示例 9.10。集团运营 9.10.1。使用示例 9.11。聚合框架支持 9.11.1。基本概念 9.11.2。支持的聚合操作 9.11.3。投影表达式 9.11.4。分面分类 9.12。用自定义转换器覆盖默认映射 9.12.1。使用已注册的Spring Converter进行保存 9.12.2。使用Spring转换器读取 9.12.3。使用MongoConverter注册Spring转换器 9.12.4。转换器消除歧义 9.13。索引和集合管理 9.13.1。创建索引的方法 9.13.2。访问索引信息 9.13.3。使用集合的方法 9.14。执行命令 9.14.1。执行命令的方法 9.15。生命周期事件 9.16。例外翻译 9.17。执行回调 9.18。GridFS支持 9.19。更改流 9.19.1。使用MessageListener更改流 9.19.2。更改流 - 无效 10.反应性的MongoDB支持 10.1。入门 10.2。使用Spring和Reactive Streams Driver连接到MongoDB 10.2.1。使用基于Java的元数据注册MongoClient实例 10.2.2。ReactiveMongoDatabaseFactory接口 10.2.3。使用基于
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值