首页 > 编程知识 正文

java注解用法,java注解例子

时间:2023-05-04 02:13:48 阅读:282957 作者:705

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不会做级联的操作

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。