美文网首页
Spring Boot 自定义配置key @Configurat

Spring Boot 自定义配置key @Configurat

作者: 光剑书架上的书 | 来源:发表于2021-08-13 22:32 被阅读0次

方案1:使用@Value读取application.properties里的配置内容

配置文件application.properties

spring.application.name=springbootdemo

server.port=8080

mail.username=application-duan

mail.password=application-duan123456

测试代码类

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.context.annotation.PropertySource;

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

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

@RestController

@RequestMapping("/task")

public class TaskController {

    @Value("${mail.username}")

    private String userName;

    @Value("${mail.password}")

    private String password;

    @RequestMapping(value = { "/", "" })

    public String hellTask() {

        System.out.println("userName:" + userName);

        System.out.println("password:" + password);

        return "hello task !!";

    }

}

结果:

userName:application-duan

password:application-duan123456

方案2:使用@Value+@PropertySource读取其它配置文件(多个)内容

读取mail.properties配置

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.context.annotation.PropertySource;

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

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

@RestController

@RequestMapping("/task")

@PropertySource("classpath:mail.properties")

public class TaskController {

    @Value("${mail.smtp.auth}")

    private String userName;

    @Value("${mail.from}")

    private String password;

    @RequestMapping(value = { "/", "" })

    public String hellTask() {

        System.out.println("userName:" + userName);

        System.out.println("password:" + password);

        return "hello task !!";

    }

}

结果:

userName:false

password:me@localhost

方案3.对象映射的方式:@ConfigurationProperties

@ConfigurationProperties(prefix ="db.clickhouse")

实例代码

配置类

import lombok.Data;

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.context.annotation.Configuration;

/**

* ClickHouse圈选数据库的常量

*/

@Data

@Configuration

@ConfigurationProperties(prefix ="db.clickhouse")

public class DbClickHouseConfig {

String db_name ="ecom_dmp_ch";

String db_cluster_name ="ecom_public";

String user_tag_select ="user_tag_select";

String user_behavior_select ="user_behavior_select";

String user_tag_shard_column ="uid";

String item_select_table ="item_tag_select";

String item_shard_column ="item_id";

String seller_select_table ="seller_tag_select";

String seller_shard_column ="seller_id";

String partition ="p_date";

String partition_date_format ="yyyy-MM-dd";

String driver_id ="clickhouse_01";

}

application.yml

db:

clickhouse:

db_name:"ecom_dmp_ch_select"

    db_cluster_name:"ecom_public"

    user_tag_select:"user_tag_select"

    user_behavior_select:"user_behavior_select"

    user_tag_shard_column:"uid"

    item_select_table:"item_tag_select"

    item_shard_column:"item_id"

    seller_select_table:"ecom_dmp_ch"

    seller_shard_column:"seller_id"

    partition:"p_date"

    partition_date_format:"yyyy-MM-dd"

    driver_id:"clickhouse_01"

相关文章

网友评论

      本文标题:Spring Boot 自定义配置key @Configurat

      本文链接:https://www.haomeiwen.com/subject/itajbltx.html