提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- VO包与实体类中注解:
-
- @Data
- @I18nExcel
- @Excel(name = "a.abc", width = 20)
- @TableField(exist = false) 忽略这个字段
- @ApiModelProperty(value = "字段注释")
- @TableName("表名")
- @Accessors(chain = true)
- @EqualsAndHashCode(callSuper = false)
- @ApiModel(value="表名对象", description="XXX页面")
- @TableId(type = XXX)
- @ApiModelProperty(value = "字段注释")
- @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
- @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
- @ApiModelProperty(value = "属性的描述")
- service包
- controller包
前言
提示:这里可以添加本文要记录的大概内容:
VO包与实体类中注解:
@Data
@Data
: 这是Lombok库中的一个注解,用于在编译时自动生成 getter、setter、equals、hashCode 和 toString方法,从而简化Java类的编写。
@I18nExcel
@I18nExcel
: 这是一个自定义注解,用于处理多语言环境下的 Excel 导出导入。具体的功能取决于注解的实现方式,它可能用于标识一个类,以便在处理 Excel 时考虑到国际化(I18n)的需求。意味着该注解支持多语言,可以根据不同的语言环境自动切换显示不同的内容。
@Excel(name = “a.abc”, width = 20)
@Excel(name = "a.abc", width = 20)
这是MyBatis-Plus中的一个自定义注解:用于Excel导入导出时的表格头设置,name属性表示指定Excel中的列名,width属性表示表格列的宽度。
@TableField(exist = false) 忽略这个字段
@TableField(exist = false)
:这是MyBatis-Plus中的一个自定义注解,用于标识一个属性不是数据库表中的字段,在进行CRUD操作时不会被映射到SQL语句中。这通常用于一些逻辑上的计算属性或者数据库表中不存在的字段。exist
属性设置为 false 表示该字段在数据库表中不存在,或者在进行某些操作时不需要考虑这个字段。
@ApiModelProperty(value = “字段注释”)
这个Java注解通常用在Spring框架的RESTful API
开发中,用于生成API的文档说明
@ApiModelProperty
:指定一个模型属性的说明信息,例如名称、类型、是否必填等,该注解用于在文档中描述API模型属性的功能和含义。value
= “字段注释”:该注解的value属性用于描述该属性的文本说明信息
因此,当使用Swagger等API文档工具生成API文档时,这个注解可以帮助开发者快速理解API的数据模型和属性含义,提高代码可读性和维护性。
@TableName(“表名”)
@TableName
:这是MyBatis-Plus中的一个自定义注解,
用于指定相应的数据库表名
@Accessors(chain = true)
这是Lombok库中的一个注解,用于在编译时自动生成链式方法,使得可以链式调用set方法,例如 ‘setA(1).setB(2)
’。
@EqualsAndHashCode(callSuper = false)
这个注解用于在编译时自动生成 equals 和 hashCode 方法。'callSuper = false
’表示不调用父类的equals和hashCode方法
@ApiModel(value=“表名对象”, description=“XXX页面”)
@ApiModel
:这是Swagger库中的一个注解,用于描述一个API模型的信息,包括模型的名称和描述等。在这个例子中,它描述了’XXX表名’对象,说明这个对象是用于描述’XXX功能’的。
@TableId(type = XXX)
@TableId(type = IdType.ASSIGN_ID):这是一个MyBatis-Plus的注解,用于标记数据库表的主键字段。‘type = IdType.ASSIGN_ID’表示主键的生成策略为’手动分配ID’,即你需要自行设置主键的值。
@ApiModelProperty(value = “字段注释”)
这是一个Swagger的注解,用于生成 API 文档时,描述字段的含义。
比如:value = "主键"
,主键就是这个字段的描述。
方便前端开发人员理解该属性的含义和用途。它的value属性用来描述该属性的名称和作用
@JsonFormat(timezone = “GMT+8”,pattern = “yyyy-MM-dd HH:mm:ss”)
- 该注解定义了时间格式和时区属性,用于在序列化和反序列化时转换时间格式
- “timezone” 属性定义了时区,此处为东八区(GMT+8)
- “pattern” 属性定义了时间格式,此处为 “yyyy-MM-dd HH:mm:ss”,表示年月日时分秒的格式
- 这个注解通常与Jackson库一起使用,用于JSON序列化和反序列化。
@DateTimeFormat(pattern=“yyyy-MM-dd HH:mm:ss”)
- 该注解定义了与字符串相互转换时使用的时间格式
- “pattern” 属性定义了日期时间格式,与@JsonFormat注解中的 “pattern” 属性相同,用于格式化日期字符串
主要用于Spring的表单绑定,确保前端传入的日期时间数据符合指定的格式。
@ApiModelProperty(value = “属性的描述”)
- 该注解是用于Swagger生成API文档时的说明注解,表示该属性为创建日期,并在文档中显示该属性的说明,
总的来说,这些注解通常用在实体类的属性上,以指定如何处理和展示日期时间数据,以及如何为API文档提供描述。例如:
public class SomeEntity {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createdDate;
// ... 其他属性和方法 ...
}
service包
@Service
@Service注解表示这是一个服务层的Bean,由Spring容器管理,可被自动注入到其他需要使用的类中。通常在服务层中注入DAO层的Bean,调用DAO层的方法来实现业务逻辑的处理。
用途:这个注解用于标记一个类为服务类。服务类通常是业务逻辑的主要承载者,并处理数据访问对象(DAO)或数据访问服务(如JPA或Hibernate)以执行CRUD(创建、读取、更新、删除)操作。
好处:这个注解不仅仅是一个标记,它实际上会创建一个Spring管理的bean,这意味着Spring容器将负责这个类的生命周期,包括其创建、初始化和销毁。
@Transactional注解详细使用
用途:这个注解用于声明事务的边界。当你在方法上使用它时,这意味着该方法内的所有数据库操作要么全部成功,要么全部失败回滚。这对于确保数据的完整性和一致性非常重要。
属性:
- rollbackFor: 这个属性用于指定哪些异常应该触发事务回滚。
- 比如:
rollbackFor = Exception.class
意味着任何 Exception或其子类的实例都会触发事务回滚。
-好处:使用@Transactional
注解可以简化事务管理,因为它自动为你处理事务的提交和回滚,而不需要手动管理。
@Autowired
用途:这个注解用于自动装配依赖。Spring容器会自动识别这个注解,并将匹配的bean注入到被标注的字段、构造函数或方法中。
好处:这大大简化了依赖注入的过程,因为你不需要手动创建和管理依赖对象。Spring会为你处理这一切。
controller包
@Api(tags = “订单管理”)
用途:tags: 这个属性用于为相关的API操作提供一个或多个标签。在生成的文档中,这些标签可以帮助用户更好地组织和理解API的功能。标记这个接口所属的API分组,即订单管理。
解释:这个注解来自于Swagger框架,用于描述API的元数据,包括API的分组、标签、描述等
@RestController
用途:这个注解是Spring框架提供的,用于标记一个类为RESTful控制器。这意味着这个类中的方法将处理HTTP请求并返回HTTP响应。
好处:这个注解组合了@Controller
和@ResponseBody
的功能,使得你可以更方便地创建RESTful API
解释:这个注解告诉Spring框架,这个类是一个控制器,可以处理REST请求,并且每个方法都返回数据而不是视图。
@RequestMapping(“/book/BookList”)
用途:定义控制器处理的请求路径。这意味着所有在此控制器中的方法都将处理以此路径为前缀的请求。
解释:这个注解用于映射请求的URI到特定的控制器方法上,即/book/BookList路径的请求将由这个控制器处理。
好处:通过在一个控制器上设置基础路径,可以更方便地组织和管理相关的API操作。
@Slf4j
用途:自动生成日志对象。它会自动为你的类生成一个名为log的Logger实例,可以用它来记录日志。
好处:通过使用Lombok的@Slf4j注解,你可以避免手动创建和管理Logger实例,可以使用log对象输出日志信息,方便调试和排查问题。从而使代码更加简洁和易于维护。
@AutoLog(value = “修改-通过id查询”)
用途:这个注解通常用于自动记录API操作的日志。它可以帮助你跟踪和调试API的使用情况,以及了解哪些操作被执行和何时执行。
@ApiOperation(value = “修改-通过id修改”, 字段名 = “修改结果-通过id查询”)
@ApiOperation: 这个注解的作用是对API方法进行描述,用于生成API文档。它可以帮助你为每个API操作提供详细的描述和说明。
- value:这个属性用于提供一个简短的描述,以解释这个API操作的目的或做了什么。
- 字段名(表中字段):这个属性用于提供更详细的说明或注释,以进一步解释这个API操作。
@GetMapping(value = “/queryById”)
用途:这个注解是Spring框架提供的,用于定义HTTP GET请求的处理方法。它指定了哪个URL路径应该映射到这个方法,以便处理GET请求。该注解通常用于查询操作
- value: 这个属性定义了URL路径。这里指定了请求的路径为"/queryById"。
- 好处:通过使用 @GetMapping 注解,你可以更方便地创建和处理 RESTful API 的 GET请求。
@RequestMapping(value = “/importExcel”, method = RequestMethod.POST)
@RequestMapping是Spring中一个用于映射请求路径和请求方法的注解,它可以被用于类或者方法上。在类上使用该注解可以为类中所有方法的请求路径添加一个前缀,而在方法上使用该注解则可以为该方法指定一个请求路径。
具体来说,该注解可以接受以下属性:
- value:指定请求路径,可以包含路径变量和通配符。
- method:指定请求方法,可以是GET、POST、PUT、DELETE等。
- params:指定请求参数及其值。
- headers:指定请求头及其值。
- consumes:指定请求体的MIME类型。
- produces:指定响应体的MIME类型。
通过使用不同的属性,可以创建不同类型的请求映射,以处理不同类型的请求。在Spring MVC中,该注解是最常用的注解之一,它可以使得请求的处理更加清晰和规范化。
例子:
@RestController
@RequestMapping("/api/v1") // 基础路径为 "/api/v1"
public class MyController {
@GetMapping("/users") // 请求映射为 "/api/v1/users"
public List<User> getUsers() {
// ... 方法体 ...
}
@PostMapping("/users") // 请求映射为 "/api/v1/users",HTTP方法为POST
public User createUser(@RequestBody User user) {
// ... 方法体 ...
}
}
在上面的例子中,@RequestMapping("/api/v1")
定义了基础路径为/api/v1
。在该类中的每个处理方法上,我们使用了更具体的@GetMapping
和@PostMapping
注解来定义具体的请求映射路径和HTTP方法。