前后端分离总结

一、springBoot

1、自动化配置原理

启动类上 @SpringBootApplication注解是一个组合注解

------- @SpringBootConfiguration :

------- @ComponentScan :

作用是自动化包扫描,默认扫描当前启动类 的同级包和子级包带有相关注解的bean

------- @EnableAutoConfiguration:

作用是开启自动化配置 (就是自动调用封装到里面的配置)

包含了 @Import({AutoConfigurationImportSelector.class}) 导入自动化配置选择器

----AutoConfigurationImportSelector自动化配置选择器会默认加载 spring-boot-antuconfigure包下面的 meta-inf/spring.factories。

--- spring.factories声明了大量的场景配置(springboot内置好的自动化配置场景),会根据 spring.factories 配置文件中的bean的路径,按需加载。

org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration,\

@ConditionalOnMissingBean

用到啥场景就调用啥场景

 按需加载【判断你当前的项目中是否存储需要的类,如果存在初始化】

每个场景的自动化配置类中会导入 具体配置类,

@EnableConfigurationProperties

配置类的属性有默认值。【如果你的配置文件中配置用配置文件的,没有配置用默认的数据值】

2、springBoot的相关注解

@SpringBootApplication 标记是一个springboot的应用

@EnableAutoConfiguration 开启自动化配置

@ComponentScan 进行包扫描

@Configuration 标记当前的类是一个配置类,相当于ssm框架中的spring.xml配置文件

@Bean 相当于spring中的<bean>标签,手动把bean内容加到spring容器中

@RestController 和 @Controller 是控制类 (不同就是返回值类型不同)

@Resource 和 @Autowired注入 目的是去springioc中去找bean

@ConfigurationProperties 声明是一个配置文件,能和配置文件中的参数对应

二、Vue

1、vue的思想:

数据驱动---双向绑定

组件化

vue组件中常见的三种传值方式:父传子、子传父、非父子传值

2、vue的相关标签:

v-text:替换标签的文本内容

v-html:替换标签的源代码,

v-ifv-show :条件判断,满足条件则显示

v-for:循环 用在循环的标签上面

v-model: 表单元素的绑定, 双向数据绑定,可双向更改

v_bind:绑定属性

v-on:给元素绑定事件 v-on:触发事件的形式:方法、文本框

3、vue的特点

双向绑定

解耦与视图

可复用组件

m-v-vm模式

与js不同,不是dom,是直接面向数据开发

4、m-v-vm模式:(面向数据)

module:模型 对应的是数据

view:视图 模板

vm:模型与视图之间的桥梁

5、Vue的生命周期:

 vue的生命周期是指Vue实例或者组件从诞生到消亡经历的每一个阶段,在这些阶段的前后可以设置一些函数当做事件来调用,这些函数就是钩子函数。以上八个钩子函数基本贯穿了一个生命周期,最常用的是  mounted:function(){}。

  beforeCreate:function(){}

                            created:function(){}

                               beforeMount:function(){}

                                mounted:function(){}

                               beforeUpdate:function(){}

                               updated:function(){}

                                 beforeDestroy:function(){}

                                  destroied:function(){}

三、Vue-cli

(一)Node

1、nodejs是什么

node是Javascript的运行环境,可以解析和执行js代码。(浏览器)

web服务端后台的开发。

命令行执行工具:(npm【装包】,webpack【打包】)

2、npm

(1)初始化:npm init -y (package.json)

(2)安装(包):npm install/i 包名@version

(3)卸载(包):npm uninstall 包名@version

(二)vue脚手架

1、含义

(1)生成一套标准的vue前端项目的目录。(工具)

(2)辅助项目的开发。

(3)只是使用框架,将来打包的时候并不打包框架

2、vue脚手架创建

(1)安装脚手架包工具:

在cmd中,输入npm install -g @vue/cli 输入vue --version查看版本号

(2)创建vue脚手架工程:

a,通过脚手架的命令创建:

vue create 项目名称

b,通过可视化界面创建:

vue ui

3、vue脚手架项目目录

vue-pro02(vuecli3.x以上脚手架项目目录结构)

node_modules library root 【项目依赖包】

public 【静态资源目录,放一些不会变动的文件 (比如用户经常要下载的模板等)】

src

-assets【静态资源目录,和public区别是会被webpack构建】

-components 【公共的组件,方便复用】

-router【项目中的路由配置文件】

views【视图组件,路由中配置跳转的组件】

-App.vue【页面组件入口】

-main.js 【程序入口文件,加载各种公共组件】

.browserslistrc【指定项目的目标浏览器的范围】

.editorconfig 【代码规范文件】

.eslintrc.js【代码规范检查规则配置文件】

.gitignore 【git上传需要忽略的文件格式】

babel.config.js【es6语法转换(es6特性浏览器还没有全部支持,所以需要转成浏览器能够认识的代码)】

package.json【项目中依赖配置文件】

四、前后端结合

1、接口

只封装方法,没有方法体,需要有实现类

2、axios

作用:发送请求

前端:发送方法-----增删改查 post delete put get

后端:参数添加注解@RequestBody

3、跨域问题

浏览器的同源策略限制,同源策略会阻止一个域的js脚本和另一个域的内容进行交互。

当一个请求URL的协议、域名、端口三者之间任意一个与当前页面的URL不同时即为跨域

解决方式:

1、jsonp的原理就是利用<script>标签没有跨域限制,通过<script>标签src属性,发送带有callback参数的GET请求,

2、服务器实现CORS接口,在Controller中放置@CrossOrigin注解,特点:所有页面都可以访问,不安全性增加

3、http代理中间商,依赖node.js,基本原理是用服务端代理解决浏览器跨域问题,然后通过配置api发送到后台进行操作

五、软件生命周期

可行性研究(能不能做):可行性研究报告

软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

需求阶段(做什么):需求规格说明书

在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。

设计阶段(怎么做):概要设计、详细设计

根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等。

业务流程、功能清单,资源清单

编码阶段(写代码):软件代码

是将软件设计的结果转换成计算机可运行的程序代码。

测试阶段(找BUG):测试用例,测试报告

在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。

运维阶段(维护):实施手册,服务记录与处理单

是软件生命周期中持续时间最长的阶段,包括纠错性维护和改进性维护两个方面。

六、对接第三方接口

1、发短信

在官网申请、或者使用已有的信息模板,生成类

导入相关的依赖包

导入相关类

将需要发送的信息按照封装对象的类型要求,进行处理

后台发送验证码的登录

判断发送的电话号码是否存在,

随机生成验证码,并获取

将验证码和电话号码同时验证,都符合才可以登录

2、支付宝

(1)如何保证支付过程的加密安全性

使用加密技术对信息进行编码和解码

支付宝使用的是非对称加密,如RSA

基本原理:同时生成两把密钥:私钥和公钥

买家 自己的私钥,支付宝的公钥

支付宝 自己的私钥,买家的公钥

常见的加密方式

对称加密,如AES

非对称加密,如RSA

不可逆加密,如MD5,SHA

(2)支付中如何保持数据的一致性

支付宝的24小时9次通知+卖家的补偿机制+极端下的日志异常保存

(3)支付宝的通知机制

通知方式用两种,同步和异步;

同步通知:就是用户扫码后未关闭浏览器,支付宝会同步的调用我们的接口。

异步通知:支付宝提供的补偿机制,如果同步通知没有成功,支付宝会定时请求我们的接口。

异步通知的机制:24小时之内发送9次请求,如果调用返回success了,就不会再次发送了。

(使用这种机制,来保证订单状态的一致性,只要支付宝收到钱就一定要确保通知到商户系统,商户系统修改订单状态。还可以通过商户系统定时调用支付宝交易查询接口,查询支付状况,来确保订单状态的一致性。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值