UI:
ZUI、LAYUI,bootstrap
PowerDesigner作用是什么?
设计数据库模型
PowerDesigner有什么好处
可以清晰的看出数据库的模型图表,自动导出sql语句以及测试数据。
PowerDesigner在什么时候使用
设计数据库的时候用
MyBatis的工作原理
(代码实现、创建哪些类)
MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架
mybatis应用程序通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件(也可以用Java文件配置的方式,需要添加@Configuration)
来构建SqlSessionFactory(SqlSessionFactory是线程安全的);然后,SqlSessionFactory的实例直接开启一个SqlSession,
再通过SqlSession实例获得Mapper对象并运行Mapper映射的SQL语句,完成对数据库的CRUD和事务提交,之后关闭SqlSession。
MyBatis的sql如何打印出来
dao 的接口的日志级别设成 debug
MyBatis这个框架封装了什么?
封装dao层的一个框架
MyBatis的逻辑分页和物理分页
rowBounds pageHelper
MyBatis的一级缓存和二级缓存
mybatis的的一级缓存是SqlSession级别的缓存,一级缓存缓存的是对象,当SqlSession提交、关闭以及其他的更新数据库的操作发生后,
一级缓存就会清空。二级缓存是SqlSessionFactory级别的缓存,同一个SqlSessionFactory产生的SqlSession都共享一个二级缓存,
二级缓存中存储的是数据,当命中二级缓存时,通过存储的数据构造对象返回。查询数据的时候,查询的流程是二级缓存>一级缓存>数据库。
MyBatis的缓存是否在项目中使用到?并且你用了什么替换这个缓存技术
LOG4J:
日志有哪些?(文件日志,文件日志有哪些;数据库日志:数据库日志又有哪些)
你所了解的文件日志技术有哪些?(LOG4J...)
为什么你使用LOG4J呢?
日志的等级(ERROR,WARNING,DEBUG,INFO...)
为什么使用:
我们在之前做了很多的工厂,并且如果没有写工厂类,那么我们的Servle去new Service
而我们的Service去new Dao,那么我们会发现,这里的数据其实只要new一次就行了,所以我们
做了单例,并且还写成工厂,这样就不用我们一直new了
那么Spring的其中一个功能就是封装工厂
spring是什么:
spring是一个轻量级的框架,用来简化代码
在哪里使用:
项目中如果用到mybatis就可以用spring去接管
这个框架封装了什么:
封装工厂
DI(注入)和IOC的区别
根据上面的讲述,应该能看出来,依赖注入和控制反转是对同一件事情的不同描述,从某个方面讲,就是它们描述的角度不同。
依赖注入是从应用程序的角度在描述,可以把依赖注入描述完整点:应用程序依赖容器创建并注入它所需要的外部资源;
而控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源
IOC是什么,用来干什么的
Ioc(控制反转)即由IoC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找,提升组件重用的频率
DI是是什么,用来干什么的
依赖注入,应用程序依赖容器创建并注入它所需要的外部资源,提升组件重用的频率
SpringMVC:
为什么使用、这是什么、在哪里使用、这个框架封装了什么?
SpringMvc是基于java的请求驱动类型的轻量级web框架,原先我们客户端发送一个url业务请求,
web.xml就需要配置一个servlet,也就是一个servlet基本只能做一个业务请求,
这种配置很麻烦springMVC封装了servlet,这样我们不需要再一个个配置servlet。
SpringMVC的工作原理
(这里的工作原理是:url是如何访问,直到返回视图…)
项目启动时,web.xml会初始化servlet,当有业务请求时,
这个servlet会去找一个或多个handerMaping处理映射调用对应的controller,
controller处理对应的业务,然后返回一个modelAndview,视图解析器解析出对应的视图返回到浏览器渲染。
SSM框架的搭建流程
springboot是spring下的一个子项目,
他封装了ssm框架的spring和springMVC的xml配置,让项目搭建更简化,提高了开发效率。
并且内置tomcat,项目中我们通过main启动项启动项目,并通过扫描器对Mapper层进行初始化
为什么使用、这是什么、在哪里使用、这个框架封装了什么?
springboot是spring开源框架的子项目,他主要解决的封装了ssm框架的繁琐又重复的xml配置,内置tomcat,可以独立运行 。
在四阶段的项目就是用springboot搭建的
SpringMVC的工作原理
AOP是什么,用来干什么的
面向切面编程,只是一种编程思想
(1)事务处理:执行方法前开启事务,执行方法后关闭事务,出现异常后回滚事务;
(2)权限判断:在执行方法前判断是否有权限;
(3)日志:在执行前,进行日志处理;
AOP是设计模式,而filter是工具,仅仅是一个类,通过AOP可以封装出无数个filter.
AOP的6个特点,(切点、切面、通知、目标、代理、织入)
通知:排查所有车辆酒驾情况,比如排查service层的方法执行
切点:罚款或扣留车辆也就是写入错误日志
切面:通知+切点
目标:作用的对象,车辆里人,比如services层的service对象
代理:对应的警察,就是排查车辆的工作人员
织入:就是封装错误的代码执行过程。
AOP使用了什么设计模式
aop主要用的是动态代理模式
其他:
分层的名词(pojo,dto,vo,bean)区别是什么
POJO(Plain Old Java Objects,普通老式 Java 对象):我们之前写过类,数据库一张表,
java有一个对应类,和这张表对应,这样的类我们叫他POJO
以后bean改名叫做pojo
VO (view Object) 我们上节课讲的tree,最后整合成一个json数据,如果这个json数据是在java
这边生成的,那么这个数据就属于vo
DTO (data transfer object) 我们上节课我们创建一个叫做JsonMsg的类,里面有id,message,
location,datas,这个类用来将数据传送给浏览器,这个类就属于DTO
而以上的这三种都属于BeanPOJO(Plain Old Java Objects,普通老式 Java 对象):我们之前写过类,数据库一张表,
java有一个对应类,和这张表对应,这样的类我们叫他POJO
以后bean改名叫做pojo
VO (view Object) 我们上节课讲的tree,最后整合成一个json数据,如果这个json数据是在java
这边生成的,那么这个数据就属于vo
DTO (data transfer object) 我们上节课我们创建一个叫做JsonMsg的类,里面有id,message,
location,datas,这个类用来将数据传送给浏览器,这个类就属于DTO
而以上的这三种都属于Bean
nginx:部署方式,访问模式:
1、权重模式
(权重就是比重的意思,一共10份,例如:A 9 ,B 1)
也就是说客户去访问C服务器 90%概率会访问A服务器, 10%会访问B服务器
2、hash模式
(服务器C会根据客户的url进行计算hash值:例如:login —> 0F123 这个Hash值就是固定得了)
也就是不管哪一个客户只要url是login hash值就是 0F123,那么对应的hash值只会去对应的服务器
login -》0F123 -》a
regiest—> 0F124 -> b
menus -> 0F12 -> b
3、轮询模式
4000个用户,第一个去a,第二个去b,第三个去a,第四个去b.... redis:存储模式,redis的其他功能...
vue: 生命周期,vuejs和vuecli的区别...
前后端分离:作用
xss:为什么使用xss,攻击方式有几种...
rsa:工作原理
websocket:工作原理
权限;
数据同时访问数量;
ORM原理:就是mybatis的反射工作原理(接口类和xml是如何访问的)