SpringBoot_01

本文介绍了SpringBoot的基本概念,阐述了为何选择SpringBoot,以及如何通过YAML和properties配置文件来简化项目设置。重点讲解了YAML语法和与properties的区别,并展示了如何使用@ConfigurationProperties注解来实例化Bean。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot介绍

springboot是什么?

Springboot本质上其实就是Spring,他也可以说是一个脚手架。
何为脚手架?就是可以理解成Springboot帮我们搭建好了一个项目的骨架,一些必要繁琐的配置工作Springboot都进行了统一化的配置

为什么要有SpringBoot?

SpringBoot可以说是Spring的升级版,为什么要用Springboot,就得从为什么不用Spring来进行开发说起。
Spring是一个框架,而框架设计的初衷是简化开发人员的开发操作,虽然相较于原生Servlet开发,Spring在效率上面提升了不少,但是也带来了一个问题,就是因为我们要在Spring上进行项目开发,就得遵守他指定的规则,而随着Spring这套体系的不断完善,那么他需要制定的规则就越来越多,那么就是说我们花费在遵守其规则(也就是配置)上面的时间精力就会越来越多。这一点有点违背了框架的设计初衷。使用过ssm来进行开发的同学应该都体会过,在配置环境的这个环节会花费大量的时间精力…
也是随着Spring的这套体系的不断完善,一个新的设计范式也随之被提了出来,也就是“约定优于配置”,简单来说就是:将我们开发需要的组件都集成封装起来并且都指定一个默认的版本,那么在我们都不单独指定的情况下,我们都使用默认的版本来进行开发。他的初衷是减少开发人员花费在配置上面的时间,让他们可以更多的关注业务的开发
而SpringBoot就是“约定优于配置”这个设计范式的一个产物。他的出现大大提高了开发的效率。而且他不是一个新的概念,而只是对Spring中一些必要且繁琐的操作封装集成了起来。我们不再需要每次都配置tomcat、指定版本、导入大量的jar包。。。这些springboot都帮我们干好了

怎么使用Springboot?

如果说我们只是需要单独使用Springboot的话,我们只需要导入Springboot的场景启动器Starter即可
在这里插入图片描述
一些常用的的组件这个Starter已经都导入完成了,不过一些例如集成mybatis,数据库这些操作就需要我们额外引入,因为不是每个springboot项目都需要用到这些组件

Yaml与properties

yaml与properties是在Springboot中新引入的概念,因为Springboot舍弃了原来xml的配置文件形式,改成了这两种配置形式,以往配置在Spring中的配置信息都可以配置在这两者里面

  • 所处位置:springboot默认读取路径 classpath:/ 、 classpath:/config/ 、 file:./ 、 file:./config/*/

yaml语法

yaml文件

person:
  name: 霸天虎
  age: 18
#  date类型
  date: 2000/01/01

#  数组的两种形式
  arr1:
    - 1
    - 2
    - 3
    - 4
  arr2: [5,6,7,9]

#  对象的两种形式
  dog1:
    name: kvg
    age: 123
  dog2: {name: dog,age: 111}

#  List的两种形式
  list1:
    - 123
    - 你好
    - 11
  list2: [1,2,3,4]
#  Set
  set: [1,2,2,4]
#  Map
  map1: {k1: v1, k2: v3}

Javabean

@Component//创建一个该类对象 并注入到Spring容器
@ConfigurationProperties(prefix = "person")//读取yaml文件中的名为person部分的值并赋予该bean对象
@Data
public class Person {
    //通过每个属性的setter注入
    private String name;
    private int age;
    private Date date;
    private Dog dog1;
    private Dog dog2;
    private int[] arr1;
    private int[] arr2;
    private List list1;
    private List list2;
    private Set set;
    private Map map1;
}

yaml与properties的区别

yamlproperties
语法k:(空格)vk = v
优先级高(由于优先级问题,相同的属性值yaml会覆盖properties)
跨语言只适用于Springboot适用于多种语言
文件内容不保证加载顺序保证加载顺序(中文乱码)

配置bean实例方式

  1. @configuration+@bean
  2. @Controller@Service…+compscan(有注解、xml两种形式)
  3. @import(XX):注入一个XX类的实例对象,如果XX实现了importSelector接口的话,就不会注入XX对象,而是注入其重写的方法(selectImports())的返回值对象(String[ ])
  4. factorybean:bean工厂,通过重新其3个方法实现配置bean的初始化
  5. Xml+@ImportResource(classpath)
  6. @Component + @ConfigurationProperties(value=“XX”)声明在同一类上,可以读取配置文件中XX的数据信息并创建对应实例注入到Spring容器中
  7. @ConfigurationProperties + @EnableConfigurationProperties
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值