11.springboot 和 spring 的区别是什么: 1)Spring Boot提供极其快速和简化的操作,让 Spring 开发者快速上手。 2)Spring Boot提供了 Spring 运行的默认配置。 3)Spring Boot为通用 Spring项目提供了很多非功能性特性,例如:嵌入式 Serve、Security、统计、 4)以下是Spring Boot的一些功能:持约定优于配置的“starter”依赖关系,以简化构建和应用程序配置,嵌入式服务器避免了应用程序部署的复杂性度量、运行状况检查和外部化配置,自动配置-只要可能。 12.spring中bean的初始化过程: Spring Bean 的初始化主要实现在bean.factory包下的AbstractAutowireCapableBeanFactory类中 具体实现流程为这个类里的三个初始化流程,分别为: 1)实例化createBeanInstance【里面包含了推断构造方法,简单来说就是对bean进行实例化】 2)属性赋值populateBean 【填充属性,处理@AutoWried,调用bean的实例化后的方法】 3)Bean的初始化initializeBean【调用bean的初始化方法】, 同时initializeBean前后还会对aware进行调用处理【BeanNameAware、BeanClassLoaderAware、BeanFactoryAware】和【EnvironmentAware、ApplicationContextAware(BeanPostProcessor before)】,之后调用【invokeInitMethods 就是initializeBean的流程】,之后会调用一次【BeanPostProcessor的另一个调用点 after】 4.DisposableBean 生命周期的销毁, ConfigurableApplicationContext#close()方法作为入口,实现是通过循环取所有实现了DisposableBean接口的Bean然后调用其destroy()方法