查看: 79|回复: 0

面试准备(java框架篇)

[复制链接]

3

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-7-7 08:39:42 | 显示全部楼层 |阅读模式
spring的使用过程

1.创建bean
2.通过xml配置或者注解配置,可以指定单例之类的类型和懒加载之类的配置
3.依赖注入的时候,通过construct标签和ref标签将一个类作为属性注入到一个类中,还可以通过写setter方法之后在xml文件中通过property标签和ref标签对属性进行注入,还可以通过autowire属性设置为byName和byType进行自动装配
4.使用aop时,可以通过注解实现,也可以通过aop pointcut、aop after、aop before、aop after returning、aop before throwing、aop around等标签实现
spirng的执行大致流程

1.new一个classPathXmlApplicationContext,去加载application.xml配置文件,根据配置的bean去创建对象,调用setter方法去进行依赖注入
2.调用getBean方法,如果有aop就通过动态代理进行组装返回代理对象,如果没有aop就直接返回对象
Spring常见概念

bean的作用域:

单例(singleton),一个容器只有一个实例。
原型(prototype),每次获取bean的时候生成一个新的实例。
request,一个http请求一个bean实例,请求结束,销毁。
session,单个会话,一个实例,会话结束,销毁。
global-session,在portlet中使用只有一个实例。
bean的生命周期:

创建bean实例
实则知bean的属性值
调用初始化方法,通过注解postconstruct注解
使用bean
调用销毁回调方法,通过注解preDestroy注解
销毁
spring解决循环依赖(参考文献)
A依赖B,B依赖A。总体思路:Spring通过递归的方式获取bean及其所依赖的bean,Spring实例化一个bean时,首先实例化bean然后为它注入属性。ApplicationContext.getBean去获取A,发现它依赖B,通过getBean去获取A,然后得到B,之后A也实例化好了。Spring通过三级缓存解决了循环依赖,其中一级缓存为单例池(singletonObjects),二级缓存为早期曝光对象earlySingletonObjects,三级缓存为早期曝光对象工厂(singletonFactories)。
spring mvc的执行大致流程

1.DispatcherServlet接收用户请求
2.找到用于处理request的handler和interceptors构造成HandlerExcutionChain执行链
3.找到Handler对应的HandlerAdapter
4.执行所用注册拦截器的preHandler方法
5.调用HandlerAdapter的handler方法处理请求,返回ModelAndView
6.倒序执行所有拦截器的postHandler方法
7.请求视图解析和视图渲染


mybatis的执行大致流程

1.InputStream流读取mybatis-config.xml
2.通过SqlSessionFactoryBuilder构建SqlSessionFactory
3.sqlSessionFactory通过openSession打开session
4.通过session获取到Mapper接口对象,传入mapper接口得到有功能的对象,底层通过动态代理实现接口拿到类
5.调用Mapper接口对象的方法操作数据库
6.session提交并关闭
mybatis的使用过程

MyBatis的缓存(参考文献)
mybatis有两级缓存。一级缓存是factory.openSession()获取到的sqlsession,sqlSession通过getMapper获取到代理对象,利用代理对象进行操作,同一个sqlSession中的数据是共享的。二级缓存是namespace范围内的,一个mapper接口对应一个namespace。


spring mvc使用过程

springboot执行流程

springboot使用过程、源码,以了解其运行逻辑的方面去学习

SpringCloud

注册中心:Eureka。
负载均衡:Ribbon。
API网关:GateWay。
Rest调用:Feign。
容错处理:Hystrix。
统一管理配置:Config。
服务跟踪:Sleuth。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表