自动实现接口注解(注解 接口)

网友投稿 257 2023-01-10


本篇文章给大家谈谈自动实现接口注解,以及注解 接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享自动实现接口注解的知识,其中也会对注解 接口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

接口有多个实现类,spring如何自动注入想

这种场景下,只能通过 byName 注入的方式。可以使用 @Resource 或 @Qualifier 注解。@Resource 默认是按照 byName 的方式注入的, 如果通过 byName 的方式匹配不到,再按 byType 的方式去匹配。

例如接口IAnimal有两个实现类 DaoImpl 和 CatImpl。

@Service("dogImpl")

public class DaoImpl impliments IAnimal{

...

}

@Service("catImpl")

public class CatImpl impliments IAnimal{

...

}

public class AnimalController {

@Resource(name="dogImpl")        //实现类1中 @Service注解中标定的名称

private IAnimal dogImpl;

......

}或者

@Qualifier 注解也是 byName的方式,但是与@Resource 有区别,@Qualifier 使用的是 类名

public class AnimalController {

@Qualifier("DaoImpl")        //实现类1的类名。注意区分与Resource(name="dogImpl") 的区别。

private IAnimal dogImpl;

......

}

接口请求的一些注解使用笔记

1.@Controller定义控制器类,再使用注解@RequestMapping方法处理请求,完成映射关系。
2.@RestController等价于@Controller加上@ResponseBody
3.@PathVariable获取URI中的变量为参数。

1.假设接口请求所需要的参数id为123123这种情况下接口请求路径为127.0.0.1:8080/product/123123
这里需要使用 到@RequestMapping,SpringBoot中 提供了比较简洁的写法
@GetMapping:处理 get请求
@PostMapping:处理post请求
@DeleteMapping:处理删除请求
@PutMapping:处理修改请求
2.获取路径中的参数

这里的接口请求参数是靠=拼接的
如果请求参数usernameValue,那么完整的请求地址为
127.0.0.1:8080/adduser?username=usernameValue

3.接收路径中的json对象

实际的实现

4.通过HttpServletRequest接收参数

5.@RequestBody接收json数据

6.上传文件,这里唯一的易忽略的点是上传文件的时候需要判断所在文件路径是否存在,判断文件是否存在,如果不存在就创建它们。

验证器Hibernate-validator当前(2022.03.15)需要在pom.xml中添加一下依赖

一个神奇的功能,自定义注解类
接口文件MyCustomConstraint,注意这里如果是idea创建的Interface,前面会少个@符号,请对照自己添加

还有验证的类MyCustomConstraintValidator

@MyCustomConstrain已经被定义,接下来看如何使用
1.创建实体Usr

2.验证控制器TestValidator的实现

这里的addAttribute方法和addFlashAttribute的区别是前者将参数拼接到url后面,后者不会将参数拼接到url后面,而是将参数暂存在session中
3.视图form.html的实现,注意这里的"*{name}"可能会有底部红色波浪线提示报错,处理方法是将xmlne:th=""里面的www.去掉

视图结果results.html实现

1.错误码枚举YZCode enum

2.返回类YZResponse

使用:

SpringBoot Starter自定义注解 - 接口加解密

目标

本章我们将编写一个starter自动实现接口注解,目标如下自动实现接口注解

1、对外提供 @OpenAPI 注解,使用此注解它会对接收的请求数据进行解密,对要返回的数据进行加密。

2、完成服务端使用示例

3、完成前端调用示例

加密规则

1、对业务数据进行AES加密,示意代码:encryptData=AES("业务数据", aesKey)

2、对AES的key进行公钥加密,示意代码:encryptKey=RSA(aesKey, 公钥)

3、签名sign=md5(encryptData+encryptKey)

加密后请求示例

Content-Type: application/x-www-form-urlencoded;charset=UTF-8

请求参数

服务端返回示例


pom.xml

定义注解

配置公私钥

具体代码逻辑

定义切面和自动装配

spring.factories


服务端修改

在业务项目中引入jar 包

配置公私钥

改动的地方很少,只需要在原接口增加@OpenAPI注解即可

前端修改

修改前代码

修改后要先对参数加密,然后对返回数据解密


安装两个加密库

封装RSA、AES和Base64加解密

关于自动实现接口注解和注解 接口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 自动实现接口注解的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于注解 接口、自动实现接口注解的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:spring @Transactional 无效的解决方案
下一篇:自动化接口测试案例(自动化接口测试用例)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~