SpringBoot-第一天学习

SpringBoot介绍-约定大于配置

SpringBoot是在Spring4.0基础上开发的,不是替代Spring的解决方案,而是和Spring框架结合并进一步简化Spring搭建和开发过程的。

如何简化?就是通过提供默认配置等方式让我们更容易,集成了大量常用的第三方库配置,所有你想用的常用框架,它都有对应的组件支持

大量的SpringBoot应用只需要非常少量的配置代码

另外SpringBoot通过继承大量的框架使得不同依赖包的版本冲突问题得到解决

内嵌了web层的tomcat,数据访问的SpringData,还有各种中间件,只需要引入进来就可以。

 



只有在pom依赖中加上spring-boot-starter的依赖,才是作为一个springboot的项目


开发web所依赖的所有jar包都加进来了

里面有转json的工具、tomcat、web服务的组件


1.加注释

@SpringBootApplication

2.在main方法中加上

SpringApplication.run(Application.class,args);


如何把SpringBoot项目部署到服务器上

通过maven把项目打包成jar包,然后把jar包托到某个文件夹下,通过命令行的方式去启动

java -jar 打包后jar包的名字

会发现报错,因为启动这个jar包后,这个jar会找不到启动类的入口

需要在pom文件中导入

spring-boot-maven-plugin



启动类的位置:如果不加@ComponentScan(扫描路径),最好放在需要的扫描包的根目录下,这样才能自动扫描所有的Bean放到spring容器中



springboot项目约定:约定大于配置



前面说SpringBoot通过继承大量的框架使得不同依赖包的版本冲突问题得到解决

在创建springBoot项目时,会让我们选择springboot的版本号(例如springboot 2.4.2)

我们可以在pom文件中加上父依赖

spring-boot-starter-parent

而spring-boot-starter-parent的父maven项目是

spring-boot-dependencies

spring-boot-dependencies中引入了大量 前面已选择的springboot 的版本号 对应的 其他依赖的版本号的配置,这样我们在自己的springBoot项目 就不用加上版本号 ,避免版本冲突的问题



不同

 starter场景启动器:不同场景的场景启动器维护了所对应的所有依赖,从而简化maven文件的书写



spring-boot-maven-plugin,它是作为bulid来加入插件的,不是dependency依赖

springboot只有加了这个插件,当运行Java -jar xxx.jar包时,才能找到启动类的入口,项目才能正常部署



描述一下springboot的作用?

springboot有哪些特性?



创建springboot项目的两种方式

(1)创建maven项目,然后在pom文件中加入springboot-starter依赖

(2)直接创建选择springInitializer创建springboot项目



SpringBoot的启动类

SpringApplication除了调用静态run方法来启动springboot项目,还可以创建实例对象,来使用SpringApplication的其他方法。

要使用SpringApplication的其他方法,需要自定义一个SpringApplication,然后使用它的其他方法



配置文件的使用


 



配置文件的优先级:上面的最高



上图的最后一行命令是通过外部文件的配置文件来指定配置内容

config内的配置文件的优先级 >> 和config同级的配置文件的优先级

父级的配置文件的优先级 >> 子配置文件

命令行 + 配置参数 的优先级 >> 配置文件

配置属性:先按位置找,同位置有多个配置文件,再按优先级顺序高的采用

spring.profiles.active 指定环境 dev环境 ,没有的属性,会按照指定的 环境,从优先级低的配置文件中读取。(下面文件的命名格式是约定)

对于不同环境的,通过spring.profiles.active 指定环境,也可以指定让哪个类生效,通过给类上加注解@Profile("dev")

配置文件配置属性:先看配置文件的位置 ,再看spring.profiles.active指定环境,再看优先级yml、yaml、properties



上面这种通过读取的配置文件,它的优先级很低



属性注入

1.通过@value+美元符,可以给单个成员变量注入参数值

如果类中的成员属性过多,上述方式麻烦。可以采用方法2

2.给对象中的所有成员(变量)属性注入参数值,可以通过@ConfigurationProperties+前缀prefix的方式给有的成员属性赋值

配置文件中的参数命名很松散,多种方式都可以和成员变量 一一绑定



配置文件中的属性占位符,可以实现对其他属性的引用



配置文件中的属性值可以赋随机值,包含以下几种形式的随机值



如果不想把类的成员变量的赋值和yml文件写在一起,可以通过@PropertySource() 指定外部配置来源的方式 来赋值

  • 21
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#学习的路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值