介绍
该项目采用前后端分离的架构设计,主要实现功能涉及登陆拦截、分类管理、文档树管理、电子书管理等。 前端采用vue cli进行项目搭建,网页框架使用Ant-design-vue实现。 前端使用Ajax发送请求给后端,后端将接口封装成api,返回给json数据,(RESTful风格,通过HTTP动词(get\put\post\delete)区分操作类型。) 后端采用springboot+springMVC+myBatis组成的SSM框架。 最后在阿里云上部署,使用nginx实现简单的反向代理。
springboot
@component
@configuration
@controller 处理请求
@requestMapping("/xx/")
请求路径匹配“/goods/"
@Autowired
注入service类
@requestBody 用来接受前端传递给后端的json字符串,搭配post使用
解决跨域问题
为什么存在跨域问题: 当ip、端口、协议不一致时就存在跨域,浏览器会租住一个域的js向另一域发送请求。 如何解决跨域问题: 【todo】定义一个配置类……
集成mybatis
pom.xml添加依赖 在application.properties中添加数据源,然后在resources/mapper中新建xxxMapper.xml 为数据表中的映射文件 在启动类中添加@MapperScan(xxx.mapper) 在application.properties中指定myBatis的映射文件的位置
项目结构
Do:实体类 Dao:数据库操作,mapper/@repository Service:业务处理 @Service Controller: 处理请求 @RestController
@Transational
开启事务,添加注解 service类中添加@Transational 【todo】什么是事务
设置定时任务
1、在启动类中添加@EnableScheduling 2、在定时任务类上添加@Component 3、在方法添加@Schedule(fixedRate=……) @Schedule(cron=“0 * * * *”)
【todo】cron各位的含义
拦截器
【todo】 创建拦截器 @Component implement HandlerInterceptor preInterceptor postInterceptor afterInterceptor
配置拦截器 @Configuration class …… implements webmvcConfigure @override public void addInterceptor(……) registor addInterceptor
AOP
pom.xml中添加AOP依赖 建立切面 @Component @Aspect
|