五、SpringBoot整合配置文件

一、SpringBoot读取配置文件

  • 1.SpringBoot配置文件分类
    • a)application.properties或者Bootstrap.properties
    • b)application.yml或者Bootstrap.yml(我们更推荐使用yml格式的配置文件)
  • 2.加载顺序
    • bootstrap.yml 先加载 application.yml后加载
      • bootstrap.yml 用于应用程序上下文的引导阶段,由父Spring ApplicationContext加载
  • 3.区别
    • bootstrap.yml 和 application.yml 都可以用来配置参数
    • bootstrap.yml 用来程序引导时执行,应用于更加早期配置信息读取。可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。一旦bootStrap.yml 被加载,则内容不会被覆盖
    • application.yml 可以用来定义应用级别的, 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等
  • 4.案例实现
    • 使用@Value注解实现读取配置
sjyl:
  name: yml
  age: 22
@RestController
public class HelloWorldService {

    @Value("${sjyl.name}")
    private String name;
    @Value("${sjyl.age}")
    private int age;

    @RequestMapping("/index")
    public String index() {
        return name + ":!!!" + age;
    }
}

在这里插入图片描述

  • 5.Properties在线转换yml
    • 地址:https://www.toyaml.com/index.html

在这里插入图片描述

二、@ConfigurationProperties

  • 1.@ConfigurationProperties作用
    • 在前面的配置文件读取中,我们发现一个问题对于每一个属性都需要一个@Value来配置对应关系,这样非常冗余,一旦属性很多,并且其他类也有用到的时候,就都需要配置
    • 而使用@ConfigurationProperties就可以节省@Value的配置
  • 2.pom依赖
<!--导入配置文件处理器,配置文件进行绑定就会有提示-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
  • 3.实体类UserEntity
    • 类增加@Component注解
    • 类增加@ConfigurationProperties注解,并指定前缀对应yml的前缀
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "sjyl")
public class UserEntity {
    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;
    }

    @Override
    public String toString() {
        return "UserEntity{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

  • 4.HelloWorldService
@RestController
public class HelloWorldService {

    @Autowired
    UserEntity userEntity;

    @RequestMapping("/getConfig")
    public String getConfig(){
        return userEntity.toString();
    }
}

在这里插入图片描述

三、文件占位符随机数

  • 在SpringBoot的配置文件中,我们可以使用SpringBoot提供的的一些随机数
    • ${random.value}、${random.int}、${random.long}、${random.int(10)}、${random.int[1024,65536]}、${app.name:默认值} 指定找不到属性时的默认值

需要注意的是:这个随机数在项目启动的时候就生成了,只有重新启动才会再随机新的值,否则不会改变

sjyl:
  name: yml
  age: ${random.int}

在这里插入图片描述

四、SpringBoot多环境配置

  • 1.application.yml
    • active就是我们需要指定的当前环境后缀,只需要改变active的配置就可以实现切换环境
spring:
  profiles:
    active: prd
  • 2.application-dev.yml
## SpringBoot默认读取配置文件名称:
##application-prd.yml 生产环境配置文件
##application-dev.yml 开发环境配置文件
##application-test.yml 测试环境配置文件
sjyl:
  addres: dev.sjyl.com
  age: ${random.int(10)}
  name: devsjyl
  • 3.application-prd.yml
## SpringBoot默认读取配置文件名称:
##application-prd.yml 生产环境配置文件
##application-dev.yml 开发环境配置文件
##application-test.yml 测试环境配置文件
sjyl:
  addres: prd.sjyl.com
  age: ${random.int(10)}
  name: prdsjyl
  • 4.application-test.yml
## SpringBoot默认读取配置文件名称:
##application-prd.yml 生产环境配置文件
##application-dev.yml 开发环境配置文件
##application-test.yml 测试环境配置文件
sjyl:
  addres: test.sjyl.com
  age: ${random.int(10)}
  name: testsjyl

在这里插入图片描述

五、SpringBoot配置端口号和上下文访问路径

  • 1.核心配置
    • 修改application.yml配置如下
    • 修改后的访问地址:http://localhost:8088/sjyl/getConfig
spring:
  profiles:
    active: prd
server:
  ###端口号
  port: 8088
  servlet:
    ###设置SpringBoot项目访问路径
    context-path: /sjyl

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Quartz整合Spring Boot中,可以通过读取配置文件来配置Quartz的属性。具体步骤如下: 1. 在Spring Boot的配置文件(如application.properties或application.yml)中添加Quartz的相关配置信息。例如,可以配置Quartz的调度线程数、线程优先级、作业存储方式等。可以参考引用中提供的源码链接来查看具体的配置文件。 2. 在Spring Boot应用程序的启动类上使用`@EnableScheduling`注解开启定时任务。 3. 在需要执行定时任务的方法上使用`@Scheduled`注解,并指定定时任务的表达式或固定时间间隔。这些注解和配置可以让Spring Boot自动创建和管理Quartz的调度器和作业。 需要注意的是,Quartz的配置和作业的定义并不需要额外的代码来读取配置文件Spring Boot会自动将配置文件中的配置项注入到相关的Quartz对象中,从而实现整合。因此,只需要在配置文件中正确设置Quartz相关的属性即可。 总而言之,通过在Spring Boot的配置文件中配置Quartz的属性,并在启动类和定时任务方法上使用相应的注解,就可以实现Quartz和Spring Boot的整合,并读取配置文件来配置Quartz。这样就可以方便地实现定时任务的管理和调度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SpringBoot 整合 Quartz](https://blog.csdn.net/weixin_48220189/article/details/128645014)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SpringBoot整合Quartz](https://blog.csdn.net/weixin_38192427/article/details/121111677)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

无休止符

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

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

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

打赏作者

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

抵扣说明:

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

余额充值