springboot应用

springboot应用

springboot特性

  1. springboot starter 将常用的依赖分组打包到一个依赖中,一次可导入多个依赖。解决了a.依赖坐标繁琐 b.依赖版本冲突问题
  2. 减少了配置,采用javaConfig的方式对Spring配置,提供了大量注解。 基于spring4.0
  3. 自动配置,利用spring对条件配置的支持,推测出所需bean并自动装配它们,减少了文件配置工作量
  4. 内置tomcat Jetty undertow,可打包成jar包直接运行
约定优于配置

约定优于配置(Convention over configuration),又称按约定编程,是一种软件设计规范。本质上是对系统、类库或框架中一些东西假定一个大众化合理对默认值(缺省值)
好处:大大减少了配置

springboot热部署

修改完代码不需要重启服务,项目将自动重新编译加载,提升了开发效率

添加依赖

<!-- 引入热部署依赖 --> 
<dependency>  
  <groupId>org.springframework.boot</groupId>  
  <artifactId>spring-boot-devtools</artifactId>  
</dependency>
热部署原理分析

springboot 对类加载的两种类加载器
在这里插入图片描述
base-classloader: 用于第三方jar包的加载
restartClassLoader: 加载开发人员自己开发的代码

当检测到有代码修改时,restartClassLoader将重新加载开发人员自己开发的代码,而第三方包不会重新加载,节约了时间,比重启服务快。

热部署排除资源

例:/static /public 修改后不触发重新加载,application.properties中添加

spring.devtools.restart.exclude=static/**,public/**

全局配置文件

全局配置文件可以为application.properties或application.yaml或application.yml

全局配置文件的优先级

springboot 2.4.0官网链接
在这里插入图片描述对应项目中的位置
在这里插入图片描述
相同属性数字越大优先级越高,不同属性则互补

属性注入常用注解

@Configuration:声明一个类作为配置类
@Bean:声明在方法上,将方法的返回值加入Bean容器
@Value:属性注入
@ConfigurationProperties(prefix = “jdbc”):批量属性注入
@PropertySource(“classpath:/jdbc.properties”)指定外部属性文件。在类上添加

@ConfigurationProperties vs @Value
特征@ConfigurationProperties@Value
宽松的绑定yesLimited(详见下方官网截图)
元数据支持yesno
SpEL 表达式noyes
应用场景批量属性绑定单个属性绑定

在这里插入图片描述

springboot 日志框架

日志-抽象层日志-实现层
JCL(Jakarta Commons Logging)、SLF4J(Simple Logging Facade for Java)、jboss-loggingjul(java.util.logging)、log4j、logback、log4j2

Spring 框架选择使用了 JCL 作为默认日志输出。而 Spring Boot 默认选择了 SLF4J 结合 LogBack

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值