enroll

更新时间:2022-11-24 07:30:31 阅读: 评论:0


2022年11月24日发(作者:idor)

SpringBoot注释

SpringBoot注释

@Controller

⼀般标识类,标明该类是控制类

@Controller结合框架的视图解析器return跳转的是页⾯

@RequestMapping(value={"/ur/urinfo"})

.@RequestMapping

⼀般标识⽅法,含有映射地址

@RequestMapping(value={"/ur/urinfo"})

@ResponBody

标识return返回的字符串不再是映射地址,⽽是⼀个数据,前端要⽤ajax去接收,否则会直接把数据打印在⽹页上

@ResponBody

@RequestMapping(value={"/ur/urinfo"})

publicObjecturinfo(HttpSessionssion){

Objectur=ribute(“loginUr”);

MapdataMap=newHashMap();

(“urname”,ng());

returndataMap;

}

@RequestBody

表⽰接收前端传来的json字符串,不要和@ResponBody混淆了

前端要⽤

$.ajax({

url:"addUr",

type:"POST",

data:ify(data),

contentType:"application/json",//缺失会出现URL编码,⽆法转成json对象

success:function(){

alert("成功");

}

});

中的**ify(data)**来吧前端的对象转换成json字符串,这样后端就可以⽤@RequestBody来接收

@ResponBody

@RequestMapping("/enrollinfo")

publicObjectenrollinfo(@RequestBodyEnrollInfoDtoenrollinfo){

info(enrollinfo);

}

@RestController

表⽰这是⼀个控制器,并且对每个⽅法的返回值都会直接转换为json数据格式。

是@ResponBody和@Controller的结合,使视图解析器失效,⼀般表⽰返回⼀个数据并且

由前端的ajax去接收(也是⼀般标识类)

@GetMapping

类似的有@PostMapping,@DeleteMapping…等等,这些都和@RequestMapping*作⽤差不多,差别在于这种表⽰⽅法可以允许映射

地址相同,那靠什么区别他们呢?那就依靠@PostMapping,@GetMapping了去标识了,他们表明了他们对数据的提交或是提取,⽤⽂

字表⾯意思来区分⽽已

@GetMapping("/categories")

@PostMapping("/categories")

通过前端的ajax来调⽤是$.get还是.get来传到后

台,那后台就⽤@GetMapping标识的⽅法来接收数据

@GetMapping是⼀个组合注解是@RequestMapping(method=)的缩写

@PostMapping是⼀个组合注解是@RequestMapping(method=)的缩写

@Autowired:

⾃动装配,这个我看了很久都没有彻底搞懂,我只是看了⼀些项⽬的例⼦,⽐如你创建了⼀个接⼝叫Service,然后我去实例化这个接⼝

叫ServiceImp,这时如果你想调⽤ServiceImp的⽅法,你只要这样:

@Autowired

Servicervice

()——只要⽤@Autowired注释标识这个接⼝,这个接⼝就会⾃动把对应的实现赋予到该接⼝上,所以接⼝可以直接调

⽤实现类的具体⽅法了。

所以⽬前⼤概总结⼀下这个@Autowired:

只要定义⼀个变量时加上@Autowired就会帮你实例化这个对象⾥的所有属性,基本类型和引⽤类型都初始化好,前提是你的引⽤类型也

⽤@Autowired标识了。

@Component

@Service

@Entity

这两个注释⼀般标识类,标识这个类是⼀个Bean,可能是对于开发的需求?不同层的Bean就⽤不同的Bean注释去标识把,⽐如业务层

的就⽤@Service,实体类就⽤@Entity,

泛化点就⽤@Component这个,万⾦油?

@RequestParam

这个应该⼤家都知道把,负责接收前端传来的数据,这个注释的作⽤就是可以起别名,其别名⼀定要与前端数据的名字相同

@ResponBody

@RequestMapping("/enrollIsOut")

publicObjectenrollIsOut(@RequestParam(“enrollaudit”)intenrollaudit,@RequestParam(“enrollid”)intenrollid,

@RequestParam(“groupid”)intgroupid){

IsOut(enrollaudit,enrollid,groupid);

}

@PathVariable

⽤来接收映射地址上⽤花括号括住的参数,好像是resful的标准

@RequestMapping(value=“/arch/{miceid}”)

publicStringarch(@PathVariable(“miceid”)Stringmiceid){

。。。。。

}

@ExceptionHandler(value=)

这个是表⽰异常的,⼀般标识在⽅法上,我也不太了解,反正有这样的初步认识就OK把

数据库表的类的注解

.post来传的,后端也会⽤相对应的注释来接收前端传来的数据,如前端⽤

@Entity

uniqueConstraints={@UniqueConstraint(columnNames={"enrollurcid"})})

@Table(name="enroll",indexes={@Index(columnList="enrollurcid")},uniqueConstraints={@UniqueConstraint(columnNames={"enrollurphone","en

rollmiceid"})})

@Proxy(lazy=fal)

publicclassEnroll{

//报名编号

@Id

@GeneratedValue

privateintenrollid;

@Table

标明这个实体类是⼀个表

其中属性的意思:

name:表名

inidexes:索引(@Index也是索引,columnList是列名)

uniqueConstraints:表⽰字段唯⼀性(@UniqueConstraint也是唯⼀性,columnNames也是列名)

@Entity

是表名该类是⼀个实体类,⽬前⼤多数都是通常和数据库表的类配合使⽤。

@Proxy

英⽂翻译成中⽂是代理的意思

其中lazy是延迟加载的意思(也称懒加载),这⾥lazy=fal意思是⽴即加载,lazy=true才是延迟加载

延迟加载(懒加载):⽬前不需要的东西不加载到内存中,当要⽤的时候才加载到内存中

@Id

表⽰主键

@GeneratedValue

⼀般表⽰⾃增长,⼀般和@Id使⽤

如果数据库控制主键⾃增(auto_increment),不加参数就会报错

@GeneratedValue(strategy=Y)

@Column

表⽰该类属性对应表的列名,如果类的属性和表的列名⼀致的话,可写可不写;不⼀样就要写。

⽐如

你数据库的列名是enrollname

你类的属性名是name

那么你就要在类属性上标注@Column(name=“enrollname”)来达到表和类的关系

@Transactional

事务回滚,⼀般⽤于增删改查数据途中发⽣错误时撤销之前全部有效操作。

简单来说就是防⽌你⼲事⼲了⼀半还有⼀半没⼲。

@Transient

@Transient表⽰该属性并⾮⼀个到数据库表的字段的映射,ORM框架将忽略该属性;

如果⼀个属性并⾮数据库表的字段映射,就务必将其标⽰为@Transient,否则ORM框架默认其注解为@Basic;

@JsonIgnoreProperties({“handler”,“hibernateLazyInitializer”})

避免hibernate懒加载的⽆限递归该实体,导致出现异常

本文发布于:2022-11-24 07:30:31,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/10312.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:affluent
标签:enroll
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图