-----------------------------------------controller注解-----------------------------------------
@RestController
@RequestMapping(“pd/customer”)
1.访问路径
@RequestMapping(“路径1/路径2”)
2.post请求 查询 新增 修改
@PostMapping(“路径”)
3.前端传入参数(新增内容)
@RequestBody String jsonParam
4.获取的参数名要和传入过来的传入过来的参数名一致
@PostMapping("/getCustomer/{idNumber}") 路径携带id
@PathVariable String idNumber 接收请求路径中占位符的值
5.删除
@DeleteMapping(“delete/{id}”)
6.Spring的三种依赖注入区别?
@Autowired
@Resource
@Inject
https://blog.csdn.net/x_iya/article/details/69942376
https://zhuanlan.zhihu.com/p/108914451
@Resource
JDK默认提供的注解,属于JSR-250规范的一部分(其他的还有@PostConstruce/@PreDestroy等),可以标记在属性或者Setter上,Spring通过CommonAnnotationBeanPostProcessor来处理该注解,在实现依赖注入的时候的匹配顺序是:
基于名称
基于类型
基于@Qualifier
@Inject
属于JSR-330提供的注解,该规范主要提供Java注入相关的注解,需要手动引入:
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
Spring通过AutowiredAnnotationBeanPostProcessor来处理该注解,处理顺序是:
基于类型
基于@Qualifier
基于名称和@Named
@Autowired
Spring提供的注解,功能与@Inject相似,也是通过AutowiredAnnotationBeanPostProcessor处理,处理的顺序同样是:
基于类型
基于@Qualifier
基于名称
总结
@Resource和@Inject都是Java平台提供的注解,主要用于JavaEE,而之所以能在Spring中生效是由于Spring实现了相关的规范,而@Autowired是Spring提供注解,使用上只要明白其注入顺序,正确注入使用即可,没有过多的区别,安装自己的使用习惯或者团队的风格选择使用即可。
-----------------------------------------service注解-----------------------------------------
@Service
@Transactional(rollbackFor = RuntimeException.class) 事务回滚
1…将json转换成对象
JSONUtils.toObject(json, 实体.class)
2.dao注入数据(用于dao)
@Autowired
-----------------------------------------dao注解-----------------------------------------
@Named
-----------------------------------------JPA-----------------------------------------
-----------------------------------------domain-----------------------------------------
1.转换日期格式
@JsonFormat(pattern = “yyyy-MM-dd”, timezone = “GMT+8”)
2.实体对应数据库字段
@Column(name = “SEX”)
3.类上注解
@Entity
@Table(name = “PD_ARCHIVES”) 对应相应表名
@Proxy(lazy = false) 懒加载
@Proxy(lazy=false)将禁用特定实体的默认延迟加载.这意味着无论何时从其他实体引用此实体,您始终都会获得初始化实体.
4.表关联
一对一
/**
* 责任医生
*/
@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.DETACH)
@JoinColumn(name = "RESPONSIBLE_MEDICALCARE", referencedColumnName = "id", insertable = false, updatable = false)
@NotFound(action = NotFoundAction.IGNORE)
private SysMedicalCare sysUser;
一对多
/** 签名信息 */
@OneToMany(mappedBy="followId", cascade = {CascadeType.DETACH}, fetch = FetchType.EAGER)
@NotFound(action = NotFoundAction.IGNORE)
private Set<TmFollowSignature> signatureList