注解
注解的原理 转自 https://www.cnblogs.com/acm-bingzi/p/javaAnnotation.html
注解本质是一个继承了Annotation 的特殊接口,其具体实现类是Java 运行时生成的动态代理类。而我们通过反射获取注解时,返回的是Java 运行时生成的动态代理对象$Proxy1。通过代理对象调用自定义注解(接口)的方法,会最终调用AnnotationInvocationHandler 的invoke 方法。该方法会从memberValues 这个Map 中索引出对应的值。而memberValues 的来源是Java 常量池。 注解的用处 1、生成文档。这是最常见的,也是java 最早提供的注解。常用的有@param @return 等 |
spring异常处理
转自 https://www.cnblogs.com/shuimuzhushui/p/6791600.html
- @ExceptionHandler:统一处理某一类异常,从而能够减少代码重复率和复杂度; value()可以指定异常类
方法返回值可以为:
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。 |
- @ControllerAdvice:异常集中处理,更好的使业务逻辑与异常处理剥离开
- @ResponseStatus:可以将某种异常映射为HTTP状态码
- @NoArgsConstructor : 生成一个无参数的构造方法
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsContructor。是Lombok插件三种生成不同构造方法的注解,来完成项目中不同构造方法的需求。 @NoArgsConstructor : 生成一个无参数的构造方法 |
https://www.cnblogs.com/hoojjack/p/6568920.html
@Entity 对实体注释。任何Hibernate映射对象都要有这个注释
@Table 声明此对象映射到数据库的数据表,通过它可以为实体指定表(talbe),目录(Catalog)和schema的名字。该注释不是必须的,如果没有则系统使用默认值(实体的短类名)。
https://www.cnblogs.com/softidea/p/6216722.html
@Entity注释指名这是一个实体Bean,@Table注释指定了Entity所要映射带数据库表,
@GeneratedValue 四种标准用法为ABLE,SEQUENCE,IDENTITY,AUTO
JPA提供的四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO.
TABLE:使用一个特定的数据库表格来保存主键。
SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。
IDENTITY:主键由数据库自动生成(主要是自动增长型)
AUTO:主键由程序控制。
@JsonIgnoreProperties({"hibernateLazyInitializer","handler"})
@JsonIgnore注解用来忽略某些字段,可以用在Field或者Getter方法上,用在Setter方法时,和Filed效果一样。这个注解只能用在POJO存在的字段要忽略的情况,不能满足现在需要的情况。
https://blog.youkuaiyun.com/ngl272/article/details/70217104
例如:
User实体中会有字段password字段,当返回用户信息给前台的时候,当然是不希望将password值也一并返回,
所以,可以在password属性上加上注解JsonIgnore
或者,可以在User类上加上注解@JsonIgnoreProperties(value = "{password}")
"update NoteInfo set NDataStatus=@NDataStatus where NId in @NIds"
select * from test1 where id in (select ids_str from test2) select * from test1 where id in ("1,2,3") |
@Slf4j https://www.cnblogs.com/weiapro/p/7633645.html
@RequestMapping("list/{isMember}/{ownerType}/{ownerId}") https://www.iteye.com/news/32657/
@RequestMapping(value = "{userId}", method = RequestMethod.DELETE)
value: 指定请求的实际地址,指定的地址可以是URI Template 模式;
method: 指定请求的method类型, GET、POST、PUT、DELETE等;
https://blog.youkuaiyun.com/weixin_43453386/article/details/83419060
@PathVariable https://blog.youkuaiyun.com/ckc_666/article/details/79239974
//@PathVariable可以用来映射URL中的占位符到目标方法的参数中 @RequestMapping("/testPathVariable/{id}") public String testPathVariable(@PathVariable("id") Integer id) { System.out.println("testPathVariable:"+id); return SUCCESS; } |
.yml配置文件
server: |
Lombok
是一种 Java™
实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。