Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
内置Tomcat,可以直接部署,而不依赖外部Tomcat
简化MAVEN配置,提供一系列工具包集合
spring-boot-starter-web(包含内置tomcat、mvc、restful)
spring-boot-starter-jdbc(包含tomcat-jdbc连接池、spring-jdbc功能、JdbcTemplate)
spring-boot-starter-aop(包含Spring AOP)
spring-boot-starter-test(包含Spring test测试框架)
spring-boot-starter-parent(包含spring boot底层通用设置和功能)
spring-boot-starter(包含ioc、自动配置、日志功能)
自动配置Spring组件(重要特点)
采用Java配置替代了XML配置(完全取消了XML配置形式)
使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:
客户端采用localStorage存储;服务器采用Redis存储
HTML5新特性 localStrorage可以永久存储在客户端
检测用户发送的令牌是否和服务器存储的一致,是否有效,
编写一个拦截器,拦截器调用/user/token进行令牌检测,检测正确后,拦截器放过继续执行请求处理,否则拦截。
目前主流实现:Dubbo+zookeeper和SpringBoot+Cloud
利用上述技术都可以将功能服务分散到不同服务器部署,然后实现服务间通信(调用)。
请求–>处理1–>处理2–>响应。意思可以将处理1和处理2做成独立服务分开部署,然后再进行RPC(Dubbo)或HTTP请求和响应模式(Cloud)交互。
Dubbo和Cloud的区别如下:
Dubbo和Cloud服务调用机制不同,一个RPC、一个HTTP请求响应
Dubbo一般和zookeeper结合管理服务,Cloud内置集成Eureka管理服务
Cloud提供一套服务管理的完整方案、Dubbo需要跟其他技术集成使用。
Cloud仅用于Rest服务管理、Dubbo是将组件服务化管理
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。
易慕教育平台
Spring、SpringBoot、Mybatis、Redis、Quartz、Bootstrap、js、JSP、AJAX、Nginx
MyEclipse、Mysql57、Tomcat8、Jdk1.8、Linux
本系统的主要作用是为广大用户提供一个在线学习的网络平台,系统主要分为主页展示、用户中心、课程中心、视频中心和在线考试模块!为用户提供了、学员注册登录、在线视频、笔记、问答、评论、收藏等众多功能!本系统主要采用分布式系统架构的方式,运用AJAX的局部请求,局部刷新,为在线用户提供更加高效,快速在线访问,以求提高用户体验!
个人职责:负责用户的登录注册、课程中心、视频中心
差异化体现个人能力
能力:
SpringBoot 项目:
关于SpringBoot
快速搭建项目,使用注解的方式省去了大量XML配置
内置Tomcat
@RequestMapping
@PathVariable
@ResponseBody
关于Mybatis
是对象关系映射
配置文件
编写xml配置的 update delete等标签
在映射文件中编写 @update()注解的方式编写sql语句
关于git
分布式反版本控制器
数据是按照元数据的方式进行存储
git使用的是SHA-1 哈希算法
关于redis
数据存储结构:key-value
数据类型:
应用场景:缓存 事务 日志 订阅 排序
使用:导入jar 开启redis,正常安装的电脑话默认开启,
配置redis连接信息
什么是分布式系统
谈谈你对分布式的理解;
前后端分离的历史发展:
如何实现的redis和session共享:
导入:两个jar包
实现的目的
单点登录的原理
单点登录的优劣
使用MD5算法,对密码进行加盐
继承HandlerInterceptor接口
实现了三个方法,在boolean preHandle方法下验证用户是否登录!进行拦截未登录则跳转登录界面!
推荐展示如何优化查询的!
用户点击课程进行学习,根据课程id获取到该课程类目的其他课程进行推荐展示