后端常用注解
springboot常用注解
MapperScan是指定mybatis的mapper接口所在的包路径,以便框架自定扫描并注册mapper接口为spring的Bean
Service标识一个类为服务层
RequestParam用于将请求参数(查询参数或表单)绑定到controller方法参数上
例如:/users/....(拼接 ?后参数)
Requestbody:将HTTP请求体的值绑定到controller方法参数上
RequestHeader:将请求头值绑定在controller方法上
RequstPart:处理multipart请求上,通常用于上传文件
Autowired:实现自动注入依赖项,一般用于注入service层
Pathvariable:映射url模板变量,例如/users/{id}路径变量
Entity 实体,通常和数据库中的表对应
DTO 数据传输对象,通常用于程序中各层之间传递数据
VO 视图对象,为前端展示数据提供的对象
DOJO 普通爪哇对象,只有属性和对应的getter和setter
爪哇数据类型包括两大类:基本数据类型和引用数据类型
引用类型:类、接口、数组
基本类型:byte、short、int、long、float、doublue、char、Boolean
后端:应用程序的服务器端、负责处理业务逻辑数据存储,用户认证等核心功能,编程功能语言、数据库、框架等、能高效地设计和开发后端系统,确保其稳定性,可扩展性和安全性
如果确保数据安全性?
通过数据加密,访问权限,权限管理等方式来保证数据库的安全性,还需关注数据备份和恢复等方面问题,确保数据安全可靠
如何优化数据库查询?
合理使用索引,避免全表扫描,优化查询语句,使用缓存等优化
前后端联调(nginx反向代理好处)
1.隐藏后端服务器的网络地址,避免部分攻击
2.实现负载均衡,代理服务器可以优先访问负载不大的后端服务器
3.提高访问速度
微服务架构和单体架构区别
单体架构:将业务的所有功能集中在一个项目中开发,打包部署
优:架构简单、部署成本低
微服务架构:把单体架构中的功能模块拆分成多个独立的项目,(把一个大型复杂项目变成n个单体项目)分别一个小团队开发
优:粒度小、团队自治、服务自治
springcloud最广泛的微服务框架,集成了各种微服务功能组件,并基于springboot实现了自动装配,从而提升了良好开箱即用的体验
AOP原理、应用场景及使用方式
aop是一种编程范式,横切关注点(日记记录、事物管理、权限检查)与业务逻辑分离、从而提高代码模块化和可重复性
核心模块
切面:横切多个请求模块,每个切面会完成特定横向关注点
连接点:程序执行过程中特定点,如方法调用或异常处理
通知:在特定连接点上执行的行动,比如方法执行之前或之后
目标对象:被一个或多个切面通知对象
代理:通知源代码和目标类之间连接
织入:讲切面应用到目标对象来创建一个通知的对象过程
场景
日志记录:在方法执行前后记录日志信息
事物管理:在数据库操作前后开始和提交事物
权限检查:在方法执行之前检查用户是否权限执行该方法
性能监测:在方法执行前后记录时间,用于性能分析
异常处理:统一处理方法抛出异常
缓存:在方法执行前后检查缓存,避免重复计算
使用方法
基于xml配置,定义切面Bean,定义通知方法





