配置原理?
为什么springboot的jar可以直接运行?
mybatis启动原理?
-
加载配置文件:MyBatis在启动时会读取并加载配置文件,该配置文件包含了数据库连接信息、映射文件路径等配置项。 构建SqlSessionFactory:在加载配置文件后,MyBatis会根据配置文件的内容创建一个SqlSessionFactory对象,该对象是MyBatis的核心对象,负责创建SqlSession。 解析映射文件:MyBatis会解析映射文件中的SQL语句,并将其转换为相应的Java对象。 创建SqlSession:通过SqlSessionFactory创建SqlSession对象,SqlSession提供了与数据库交互的方法。 执行SQL语句:开发人员通过SqlSession对象执行SQL语句,包括查询、插入、更新、删除等操作。 返回结果:MyBatis将数据库返回的结果转换为Java对象,并返回给调用方。 关闭资源:使用完SqlSession后,需要手动关闭,释放数据库连接等资源。
spring启动原理
加载配置文件:Spring在启动时会加载一个或多个配置文件,通常是XML格式的配置文件。这些配置文件中包含了对Spring框架的各种配置,如bean定义、AOP配置、事务管理等。
解析配置文件:Spring会解析配置文件,根据配置文件中的信息创建相应的对象,并将其注册到Spring容器中。这些对象可以是普通的Java类、JavaBean、AOP切面等。
创建Spring容器:Spring框架会根据配置文件中的定义,创建一个应用程序上下文的容器。这个容器是Spring的核心容器,负责管理和维护应用程序中的所有对象。
实例化Bean:当Spring容器创建完成后,它会根据配置文件中的定义,实例化所有需要被管理的Bean对象。Spring容器会根据依赖关系进行对象的创建和注入。
注入依赖:Spring框架通过依赖注入的方式来管理对象之间的依赖关系。它会根据配置文件中的定义,将相应的依赖注入到需要的位置,使对象之间可以进行交互。
启动应用程序:Spring框架会执行一些必要的初始化操作,并启动应用程序。这包括初始化数据库连接、开启事务管理等。
运行应用程序:一旦应用程序启动,Spring框架会根据配置文件中的定义,自动执行一些任务,如调用指定的方法、处理请求、响应结果等。
关闭应用程序:当应用程序运行结束或者需要关闭时,Spring框架会执行必要的清理工作,如关闭数据库连接、销毁对象等。
springboot内置tomcat
当我们添加了一个Web场景启动器的时候,它就会为我们在自动配置类中启用内嵌Tomcat,并且配置一个Tomcat服务工厂。
SpringBoot启动的时候(SpringApplication.run)会创建Spring容器:AnnotationConfigServletWebServerApplicationContext。
调用容器的refresh方法,加载ioc容器。解析自动配置类。
通过refresh里面的OnRefresh调用一个名为createWebServer这个方法。而这个方法就会调用getWebServerFactory方法。**获得Tomcat服务的工厂。**这个方法的作用就是去获取之前自动配置类当中配置的这个TomcatServletWebServerFactory。获取到之后就创建Bean,那么就有Bean实例了,之后返回。
返回就会调用getWebServer,这个方法就会启动内嵌的Tomcat。Tomcat挂起等待请求。