04-SpringBoot
2021-03-13 本文已影响0人
安然在路上
写在前面的废话:工作很饱和身体素质又比较差的我,学起Spring boot来有点心有余有力不足,竟然视频看着看着就睡着了...
SpringBoot
优点:
- 约定优于配置:也称按约定编程,本质上是对系统、类库或框架中一些东西假定一个大众合理化的默认值(缺省值)。假如你所期待与约定的配置一致,你可以不用做任何配置,约定不符合期待时才需要对约定进行替换配置。(大大减少了配置项)
- SpringBoot Starter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中;
- 自动配置:SpringBoot的自动配置特性利用了Spring对条件化配置的支持,合理地推测应用所需的bean并自动化把它们装配到IOC容器中;
- 简化部署:SpringBoot内置了三种Servlet容器,Tomcat,Jetty,undertow.我们只需要一个Java的运行环境就可以跑SpringBoot的项目了,SpringBoot的项目可以打成一个jar包。
spring-boot-devtools热部署原理
该插件重启快速的原因:这里对类加载采用了两种类加载器,对于第三方jar包采用baseclassloader来加载,对于开发人员自己开发的代码则使用restartClassLoader来进行加载,这使得比停
掉服务重启要快的多,因为使用插件只是重启开发人员编写的代码部分。
属性注入
@Configuration:声明一个类作为配置类(会加到容器中)
@Bean:声明在方法上,将方法的返回值加入Bean容器
@Value:属性注入
@ConfigurationProperties(prefix = "jdbc"):批量属性注入(据说需要set方法)
@PropertySource("classpath:/jdbc.properties")指定外部属性文件。在类上添加
ps:属性可以松散绑定(羊肉串模式,驼峰式,下划线分割等,都可以)
日志框架:
slf4j作为门面
其实还有很多问号???