Spring Boot初级理解和使用

一、首先什么是Spring ?

        Spring是一个非常好的一个框架,但是当我们进行项目添加一个框架或者技术配置文件比较多的时候,这时候就需要导入太多的maven依赖,每个配置文件也需要生成一个对应的xml配置文件,我们在管理项目时候就会造成jar包版本冲突等。

二、SpringBoot的概述

        SpringBoot对上述Spring的缺点进行的改善和优化,Spring Boot的核心设计思想是“约定优于配置”。基于这一设计原则,Spring Boot极大地简化了项目和框架的配置,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架 。

springboot的特性

  • 遵循“约定优于配置”的原则,使用Spring Boot只需要很少的配置或使用默认的配置。
  • 使用JavaConfig,避免使用XML的烦琐。
  • 提供Starters(启动器),简化Maven配置,避免依赖冲突。
  • 提供内嵌Servlet容器,可选择内嵌Tomcat、Jetty等容器,不需要单独的Web服务器。这意味着不再需要启动Tomcat或其他任何中间件。

三、Springboot配置文件

SpringBoot是基于约定的,所以很多配置都有默认值,使用默认的全局的配置文件:

  • application.properties
  • application.yml
  • application.yaml
  • 配置文件名固定是是application
application.properties
    语法结构: 
             service.port=8080
             service.address=192.168.120.116

application.yml  ==  application.yaml
    语法结构: 
        service:
            port: 8080
            address: 192.168.120.116


# 严格区分大小写,层级之间使用缩进表示,属性值和冒号之间必须有空格
注意:如果多个配置文件同时配置了相同的内容,SpringBoot以properties文件为准。

 四、读取配置文件

@Value:

用来读取配置文件中的属性值并逐个注入到Bean对象的对应属性中,只能单独的进行注入对应的属性比较麻烦。

@Environment:

我们在写项目的时候,经常会抽取一些配置项,在 Java 中通常叫做属性,也就是 Property,本质是一组键值对配置信息。使用配置项的好处在于修改起来很容易,只需修改下配置文件或命令行参数,然后重启一下就可以了。

开发过程中,大多数项目都有多套配置对应多个环境,一般来说有开发环境、测试环境和生产环境。这里的“环境”就叫做 Profile。程序可以读取到 Profile 的值,根据 Profile 的不同展示不同的特性。其实从本质上讲,“环境”也是一个“配置”,只是这个配置太重要了,也比较特殊,所以作为一个单独的概念来处理。Environment = Property + Profile

@ConfigurationProperties: 批量注入处理数据

这个注解方式需要进行导入   spring-boot-configuration-processor  这个依赖jar包

 spring-boot-configuration-processor 这个注解处理器jar包导入的话,你就可以在使用@ConfigurationProperties这个注解的实体类进行提示。

    @Value("${service.port}")
    private int port;
    System.out.println(port);



    System.out.println("==============");
    System.out.println(environment.getProperty("port"));



    //从配置文件中读取属性,它自己不知道是哪个属性文件,
    //你得写一个前缀就可以进行查找,这里查找的就是 service
    @ConfigurationProperties(prefix="service") ======= service 
    //当然你要将这个文件进行加入容器当中 使用下面的这个注解
    @Component 
    public void a(){
        private int port;    =========  port
        private int address  =========  address
    }

五、SpringBoot的启动流程

Spring Boot程序有一个入口,就是main方法。main里面调用SpringApplication.run()启动整个Spring Boot程序,该方法所在类需要使用@SpringBootApplication复合注解。

其中需要关注的是:@SpringBootApplication注解其实是包含了三个注解:

  1. @EnableAutoConfiguration:SpringBoot根据应用所声明的依赖来对Spring框架进行自动配置。简单概括一下就是,是借助@Import的帮助,将所有符合自动配置条件的bean定义加载到IoC容器。
  2. @SpringBootConfiguration:声明当前是一个springboot配置类
  3. @ComponentScan:组件扫描,可自动发现和装配Bean,功能其实就是自动扫描并加载符合条件的组件或者bean定义,最终将这些bean定义加载到IoC容器中,扫描的是根包和直包。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值