SpringBoot

本文详细介绍了SpringBoot的主要特性,如简化构建配置、自动配置和独立应用程序等,以及如何通过添加起步依赖创建一个简单的SpringBoot应用。同时,讲解了如何读取配置文件中的值,包括使用`@Value`、`Environment`和`@ConfigurationProperties`。此外,还提及了如何在不同环境下切换配置文件。
摘要由CSDN通过智能技术生成

目录

SpringBoot特性:

SpringBoot的配置文件:

一. application.yml:

获取配置文件中的值:

配置文件切换环境:


SpringBoot特性:

  1. 创建独立的Spring应用程序        
  2. 直接"入门"依赖(起步依赖),以简化构建配置
  3. 尽可能自动配置Spring和第三方库
  4. 提供可以用于生产的功能,例如:指标,运行状况检查和外部化配置
  5. 完全没有代码生产,也不需要XML配置

SpringBoot解决的问题:

  1. ssm存在问题:配置文件繁琐,依赖非常容易冲突,需要手动部署tomcat        
  2. 解决Spring整合其他框架存在的问题,简化开发
  3. SpringBoot是一个基于spring的一个框架(简化开发).提供了自动配置的依赖包(起步依赖),自动嵌入servlet的容器,简化开发的配置(自动配置),提升开发人员的开发效率,解决依赖的问题.

简单案例: 直接手动添加这样较为方便

pom.xml

添加依赖

 <!--添加parent-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>
    </parent>
    <dependencies>
        <!--添加起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

配置启动类:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

//添加springBoot注解
@SpringBootApplication//启动类
public class MySpringbootApplication {
    public static void main(String[] args) {
        SpringApplication.run(MySpringbootApplication.class,args);
    }
}

代码:

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

/**
 * 入门案例控制层
 * 代码放到启动类所在包或子包下
 */
@RestController
public class HelloController {

    @RequestMapping(value = "/hello",method = RequestMethod.GET)
    public String hello(){
        return "hello spring boot....";
    }
}

注: 启动类是放在代码的上一级目录,SpringBoot配置了自动扫码启动类所在包的子包下的代码

SpringBoot的配置文件:

        SpringBoot是约定大约配置,所以很多配置都是默认的.需要修改默认配置的话,那么我们需要自己配置application.properties或application.yml,SpringBoot默认从Resource目录加载自定义配置文件。

        properties文件的配置多以key.key.key:value的形式组成

        yaml文件等价于properties文件,在使用过程中都是一样的效果。

        但是yml文件书写的方式和properties文件不一样。更加简洁,那么我们可以根据需要选择性的使用properties和yml文件。如果同时存在两个文件,那么优先级properties要高于yml。

一. application.yml:

        语法特点: (类似于包名的展开样式)

  • 大小写敏感
  • 数据值前必须有空格,作为分隔符
  • 缩进的空格数目不重要,只需要对齐即可
  • #    表示注释        
    •         key1:
                        key2:
                                  key3: value
              key4: value4    

注: 

        相同缩进代表同一级别

        基本格式: key : value

        数组:        -  用于区分

        集合中元素的对象形式: 

        map集合:  {"name":"zhangsan","age":"15"}

        

获取配置文件中的值:

        三种方式:

  • @Value注解方式 ----- 只能获取简单值
  • Environment的方式
  • @ConfigurationProperties:
    • 加在实体对象上
      import org.springframework.boot.context.properties.ConfigurationProperties;
      import org.springframework.stereotype.Component;
      
      /**
       * 配置文件实体属性对象  跟 配置文件 一一对应关系
       */
      @Component
      @ConfigurationProperties(prefix = "person")
      public class Student {
          private String name;
          private Integer age;
      
          public String getName() {
              return name;
          }
      
          public void setName(String name) {
              this.name = name;
          }
      
          public Integer getAge() {
              return age;
          }
      
          public void setAge(Integer age) {
              this.age = age;
          }
      }
      

 需要加入自定义配置提示:依赖

                <dependency>
                            <groupId>org.springframework.boot</groupId>
                            <artifactId>spring-boot-configuration-processor</artifactId>
                            <optional>true</optional>
                </dependency>

配置文件切换环境:

        在开发的过程中,需要配置不同的环境,所以即使我们在application.yml中配置了相关的配置项,当时在测试是,需要修改数据源等端口路径的配置,测试完成之后,又上生产环境,这时配置又需要修改,修改起来很麻烦。

 application.yml:  #通过active指定选用配置环境  格式:

                spring:

                        profiles:

                                active:test

application.yml中 以dev, pro, test来定义需要使用那个配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值