框架
文章平均质量分 52
.CONSTANT
努力搬砖!
展开
-
SpringMVC执行流程和原理
3、HandlerMapping找到具体的处理器(可查找xml配置或注解配置),生成处理器对象及处理器拦截器 (如果有),再一起返回给DispatcherServlet。10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。2、DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。4、DispatcherServlet调用HandlerAdapter(处理器适配器)。9、ViewReslover解析后返回具体View(视图)。原创 2023-01-29 21:45:41 · 681 阅读 · 0 评论 -
IoC容器启动过程
初始化BeanFactory,先创建DefaultListableBeanFactory实例,然后将配置信息解析成beanDefinition,并封装成beanName -> beanDefinition的ConcurrentHashMap放在BeanFactory。、初始化所有单例Bean,根据Bean的不同类型通过AbstractBeanFactory的getBean()获取,然后createBean()。、准备工作,记录下容器的启动时间、标记已启动状态、处理配置文件中的占位符。原创 2023-01-12 23:31:07 · 655 阅读 · 0 评论 -
Spring自动装配autowired
在启动Spring IOC时,容器自动的装配一个AutowiredAnnotationBeanPostProcesspr后置处理器,当容器在扫描中扫描到@Autowired时,就会在IOC容器中自动的查找所需要的Bean对象;@Autowired用在字段上时,表示Spring会对改字段进行匹配赋值,在Spring容器中查找(byType),找到能匹配到该字段的对象,然后进行赋值;:当容器内存在一个和指定的属性类型相同的bean时,那么将和这个属性自动的进行装配,当存在多个该类型的bean,将会抛出异常。原创 2022-12-29 20:10:15 · 192 阅读 · 0 评论 -
Spring bean生命周期
如果Bean实现ApplicationContextAware接口,Spring将调用Bean的setApplicationContext()方法将Bean所在应用上下文引用传入进来;、如果Bean实现DisposableBean接口,Spring将调用destory()接口方法,同样如果Bean使用了destory-method声明销毁方法,该方法也会被调用。、如果Bean实现BeanNameAware接口,Spring将Bean的Id传递给setBeanName()方法;原创 2022-12-28 19:55:42 · 483 阅读 · 3 评论 -
BeanFactory和ApplicationContext对比
它是在容器启动时,一次性创建了所有的Bean。ApplicationContext 启动后预载入所有的单实例Bean,通过预载入单实例bean ,确保当你需要的时候,你就不用等待, 因为它们已经创建好了。采用的是延迟加载形式来注入Bean的,即只有在使用到某个Bean时(调用 getBean()),才对该Bean进行加载实例化。是Spring里面最底层的接口,包含了各种Bean的定义,读取bean配置文档,管理 bean的加载、实例化,控制bean的生命周期,维护bean之间的依赖关系。原创 2022-12-27 19:53:25 · 325 阅读 · 0 评论 -
MyBatis延迟加载
它的原理是,使用CGLIB创建目标对象的代理对象,当调用目标方法时,进入拦截器方法,比如调 用a.getB().getName(),拦截器invoke()方法发现a.getB()是null值,那么就会单独发送事先保存好 的查询关联B对象的sql,把B查询上来,然后调用a.setB(b),于是a的对象b属性就有值了,接着完 成a.getB().getName()方法的调用。这就是延迟加载的基本原理。当然了,不光是Mybatis,几乎所有的包括Hibernate,支持延迟加载的原理都是一样的。原创 2022-12-12 20:43:59 · 522 阅读 · 0 评论 -
MyBatis缓存机制
由于缓存的层面越高则性能越好,所以在实际开发应用中一般不依赖于MyBatis的二级缓存,而是在业 务层或者在表现层上添加Redis缓存一般用于缓存的数据量必须是在可接受的范围内,一般不经常发生变化但是需要经常读取的时候。原创 2022-12-07 22:05:07 · 181 阅读 · 0 评论 -
MyBatis工作原理
MyBatis工作原理1、读取MyBatis配置文件,mybatis-config.xml为全局配置文件,配置了MyBatis的运行环境等信息, 例如数据库连接信息。2、加载映射文件:映射文件即SQL映射文件,该文件中配置了操作数据库的SQL语句,需要在MyBatis 配置文件mybatis-config.xml中加载。mybatis-config.xml文件可以加载多个映射文件,每个文件对应 数据库中的一张表。3、构造会话工厂:通过MyBatis的环境等配置信息构建会话工厂SqlSessionFactor原创 2022-12-06 21:15:17 · 308 阅读 · 0 评论 -
Mybatis
1、Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本 身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生 态sql,可以严格控制sql执行性能,灵活度高。2、MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几 乎所有的 JDBC 代码和手动设置参数以及获取结果集。3、通过xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过java对原创 2022-12-03 10:59:12 · 83 阅读 · 0 评论