springboot笔记

springboot

springboot简化spring应用开发的一个框架,整合整个spring技术栈,微服务架构风格。
传统的单体应用,打war包放入Tomcat。通过http方式进行联调,对部署和运维带来挑战。
他的父项目是spring-boot-starter-parent,他来真正管理springboot应用里面的所有依赖版本,springboot版本仲裁中心,没有在里面管理的需要声明版本,springboot将所有的功能场景都抽取出来,做成一个个的starters

常用注解

@SpringBootConfiguration Springboot的配置类
@EnableAutoConfiguration 开启自动配置功能
@AutoConfigurationpackage 自动配置包 springboot的底层注解@import
将主配置类@SpringbootApplication标注的类所有包及下面所有包里面的所有组件都扫描到spring容器
有了自动配置类免去了我们手动编写配置注入功能组件等工作
SpringBoot默认jar包使用嵌入式的Tomcat,默认不支持jsp页面
@ConfigurationProperties(prefix="")告诉springboot将本类中的所有属性和配置文件中相关配置进行绑定
prefix="“是在配置文件中哪个下面的所有属性进行一一映射,只有这个组件是容器中的组件,才能@ConfigurationProperties功能,所以加一个@Component注解
@Value的用法(”${ }")从环境变量配置文件中取值("#{ }")对括号中的值进行计算
@Value支持SPEL运算,@ConfigurationProperties不支持
@Configurationproperties支持JSR303数据校验,@Value不支持
@Configuration支持复杂类型封装@Value不支持
如果说只是在某个业务逻辑中需要获取一下配置文件中的某项值用@Value
如果说专门编写了一个Javabean来和配置文件进行映射就用@Configuration
@PropertySoure(value={“classpath=”})加载指定配置文件
@ImportResource导入spring的配置文件,让配置文件里面的内容生效
SpringBoot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别,想让spring的配置文件生效需要@ImportResource(locations={})标注在一个配置类上。
@Configuration告诉Springboot该类是一个配置类,来替代之前的spring配置文件,springboot推荐使用配置类用@Configuration注解类,使用@Bean给容器添加组件

profile

profile是spring对不同环境提供不同配置功能的支持
多profile文件,我们在主配置文件编写时,文件名是application-{profile}.yml
默认使用application.properties的配置
激活指定profile,在配置文件中指定用spring.profile.active=dev
命令行的方式,在run/debug窗口中的program arguments中配置
打包后,cmd窗口运行jar包,java -jar xxx --spring.profile.active-dev

自动配置原理

springboot启动的时候加载主配置类,开启了自动配置功能EnableAutoConfiguration,利用EnableConfigurationImportSelector给容器中导入一些组件,根据当前不同的条件进行判断,决定这个配置类是否生效,一旦这个配置类生效,之歌配置类就会给容器中添加各种组件,这些组件的属性是从对应的properties类中获取的,这些类里面的每一个属性都是在xxxproperties类中的封装者

日志

springboot底层是使用上slf4j+logback的方式进行日志记录,springboot能自动适配所有的日志,引入其他框架时,只需把该框架依赖的日志框架排除掉即可
///未完

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值