springboot是java软件开发框架,其设计目的是用于简化spring项目的初始搭建以及开发过程,该框架使用了特定了注解方式来进行配置,从而使开发人员不需要大量的xml配置,不需要大量的手动依赖管理,从而达到约定大于配置,开箱即用的方式。
2、核心特性
起动依赖:starter dependency
自动配置:auto configuration
健康检查 :actator 监控
嵌入式服务:tomcat jetty等
3、springboot的启动类知识点的讲解
启动类:由@SpringBootApplication注解
@SpringBootApplication public class NoticeApplication { public static void main(String[] args) { SpringApplication.run(NoticeApplication.class, args); } }
启动类在运行时都会做什么?
a、通过classLoader(类加载器-负责将磁盘中类读到内存中)将类加载到内存
b、通过线程(thread)调用io(inputStream),从磁盘(Disk)读取文件(file)信息
c、读取类上的描述(@component,@service,@controller......),并基于类的描述构建配置对象(BeanDefintion),存储类的配置信息(类全名,作用域.....),
d、基于类的配置信息,通过bean工厂构建类的实例构建类的实例对象,并进行存储(对象池——用时从池中取)
e、当需要一个类的实例时,可以从对象池获取即可。
jvm 检查的参数:-XX:+TraceClassLoading、
4、记住:我们要交给spring容器管理对象那个,一定要放在启动类所在包或者子包中,然后使用特定的注解进行描述(如:Component,@Service.....)
5、提问:
spring是一个资源管理框架,请问资源是谁,那基于什么创建,那类又在哪里,如把类读到内存中?
资源是对象,对象基于类型创建,类在磁盘,通过线程调用io获取类,从而获取到字节码对象,再其次获取它的注解,看他是否交给spring来管理。
拓展:ssm和springboot的区别(自己理解的)
ssm分为spring、mybatis、springmvc
spring 一个是具有IOC和AOP特征的轻量级框架
springmvc是一个基于mvc的框架,是spring其中的一个子框架,同时有5个核心的组件。
mybatis是一个优秀的持久化框架,底层是基于jdbc实现和数据库的交互,同时是jdbc的操作的基础上做了封装和优化。
springboot是java软件开发框架,其设计目的是用于简化spring项目的初始搭建以及开发过程,该框架使用了特定的注解方式来进行配置,从而使开发人员不需要大量的xml配置,不需要大量的手动依赖管理,从而达到约定大于配置,开箱即用的方式。