@RequestParam和@PathVariable用法小结:
1.使用@RequestParam接收前段参数比较方便,前端传参的URL:
url = “${ctx}/main/mm/am/edit?Id=${Id}&name=${name}”
后端使用集合来接受参数,灵活性较好,如果url中没有对参数赋key值,后端在接收时,会根据参数值的类型附,会给值赋予默认值。
而且在后台的url路径中,直接写路径名称即可,无需在写参数名称。
如果需要更改传入的参数名称,可以在注解中使用value=‘’进行指定url传入名称。
2.使用@PathVariable接收参数,参数值需要在url进行占位,前端传参的URL:
url = “${ctx}/main/mm/am/edit/${Id}/${name}”
前端传参的URL于后端@RequestMapping的URL必须相同且参数位置一一对应,否则前端会找不到后端地址
必须在url路径中写上参数名称,否则找不到参数。
如果需要更改传入的参数名称,可以在注解中使用value=‘’进行指定url传入名称。
二、使用@VALUE("{属性}")
获取properties中定义的属性。自动注入到controller封装的属性中。
事例:controller:@Value("${name}")
properties: name= 12
三、@ServletComponentScan
使用filter、listener、servlet中需要在application中加入注解,方可在指定的filter、listener、servlet中加入servlet3中的注解方可使用。
四、@ModelAttribute
传递对象参数,需要向后台传入对象参数时候使用。在对象参数前加入,与@RequestParam用法相同。
例如:一个对象:id.name
传递参数是:user。
URL: 项目名/controller/handler?id=11&name=www
五、@Query nativeQuery = true,是否使用原生sql进行查询
SpingDateJPA中自定义查询语句。相当于HQL。
六、@Moodifying
最好加上@Transactional注解
总结如下
(1)可以通过自定义的 JPQL 完成 UPDATE 和 DELETE 操作。 注意: JPQL 不支持使用 INSERT;
(2)在 @Query 注解中编写 JPQL 语句, 但必须使用 @Modifying 进行修饰. 以通知 SpringData, 这是一个 UPDATE 或 DELETE 操作
(3)UPDATE 或 DELETE 操作需要使用事务,此时需要定义 Service 层,在 Service 层的方法上添加事务操作;
(4)默认情况下, SpringData 的每个方法上有事务, 但都是一个只读事务。 他们不能完成修改操作。
七、@CrossOrigin
soringboot解决后台接口跨域问题。
常用写法:
@CrossOrigin中的2个参数:
origins : 允许可访问的域列表
maxAge:准备响应前的缓存持续的最大时间(以秒为单位)。
@CrossOrigin(origins = "http://域名", maxAge = 3600)
如何解决了您的问题,还希望来JAVA WEB开发交流群:958923746,有问题欢迎共享,共同提升!