什么是springboot ?
它是由privotal团队在2014年发布的轻量级开源框架,基于spring4.0设计的,springboot通过解决依赖包的版本冲突,采用启步依赖来解决
springboot的特性:
1、springboot starter(起步依赖),就是源具备功能的坐标打包到一起,并且提供一些摸默认功能
2、编码变得简单,springboot采用javaconfig的方法对spring进行配置,提供大量的注解,提高工作效率
3、自动配置,利用spring对条件化配置的支持,合理的推测应用需的bean并自动化配置(springboot在启动的过程,会自动的将一些配置类bean进行创建,并且添加到IOC容器)
4、案列实现,springboot内嵌三种servlet容器,Tomcat、jetty、undertow。只需要使用一个容器即可打包jar包
热部署实现分析:
热部署的核心在于:它有两种类的加载器,一个种第三方jar包存放在base-classloader,而对于开发人员修改的代码存放在restartClassLoader。因此,在开发中修改的代码都是存在restartClassLoader中,springboot 2.4之前版本优先级properties>yaml,在v2.4之后优先级yaml>properties
读取application.properties配置文件信息,需要引入注解@ConfigurationProperties(prefix="person"),该注解的作用是将配置文件中的person来头的属性值通过setXX()方法注入到实体类中
在使用@Component注解将当前注入的属性类person类对象作为bean放入到IOC容器中,这有这有ConfigurationProperties才能实现赋值
属性注入常用注解:
@Configuration 声明一个类作为配置类、
@Bean :声明在方法上,将方法的返回值加入到bean容器中
@value :属性注入
@ConfigurationProperties(prefix=“jdbc”):批量属性注入
@PropertySource("classpath:/jdbc.properties")指定外部属性文件。在类上添加
springboot日志框架:
常见的日志框架:JCL、SLF4J、Jboss-logging、jul、log4j、log4j2、logback
spring框架选择使用的是JCL作为默认的日志输出,springboot默认选择的SLF4J结合Logback