spring-boot全局配置引入

If you lose your purpose, it’s like you’re broken. 如果你生活漫无目的,那就好像你坏了。

@ConfigurationProperties与@Vuale两个注解的的区别:

@ConfigurationProperties:是和JavaBean的所有属性绑定

@Value:是一个一个属性绑定

@ConfigurationProperties:不支持spring表示式的写法

@Value:支持spring的表达式的写法,#{12+13}

@ConfigurationProperties:支持JSR303数据校验

@Value:不支持JSR303数据校验

@ConfigurationProperties:支持复杂类型的绑定,比如Map,List

@Value:不支持复杂的类型绑定,比如${user.map}是读不出数据的

1、配置类
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Lazy;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

@Data
@Order(-1)
@Component
@ConfigurationProperties(prefix = "saas")
public class SaasProperties {

    /**
     * 亿美短信配置
     */
    private EmayProperties emay = new EmayProperties();

    /**
     * 阿里OSS配置
     */
    private ResourceProperties resource = new ResourceProperties();


    @Data
    public static class EmayProperties {
        private String ip;
        private int port;
        private String appId;
        private String secretKey;
        private String filePath;
    }

    @Data
    public static class ResourceProperties {
        private String endPoint;
        private String keyId;
        private String keySecret;
        private String bucketName;
        private String fileResource;
        private String thumbnail;
        private String companyLicense;
    }

}
2、application.properties部分配置
#OSS
saas.resource.end-point=xxx.com
saas.resource.key-id=xxx
saas.resource.key-secret=xxxBWVfhj
saas.resource.bucket-name=resource-message
saas.resource.file-resource=resource
saas.resource.thumbnail=thumbnail
saas.resource.company-license=companyLicense

## 亿美软通相关
saas.emay.ip=bjmtn.b2m.cn
saas.emay.port=80
saas.emay.app-id=3SDK-EMS-0130-XXXXX
saas.emay.secret-key=secretKey
#saas.emay.file-path=/data/temp/emay/temp.txt
saas.emay.file-path=D:\\emaysms.txt
3、测试
@SpringBootTest
public class SaasClientPropertiesTest {

    @Autowired
    private SaasClientProperties saasClientProperties;
    @Value("${saas.client.emay.ip}")
    private String emayIp;

    @Test
    public void saasPropertiesTest() {
        System.out.println(JSONUtil.toJsonStr(saasClientProperties));
        System.out.println(emayIp);
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值