欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识

添加后在配置 图纸加密 文件点击属性时

点击: 次  来源:昆山软开发 时间:2018-08-02

原文出处: oKong

基于springboot约定优于设置的原则,在大都环境下,启动一个应用时,根基上无需做太多的设置,昆山软件开发,应用就能正常启动。但在大部门开拓情况下,添加特别设置是无所制止的,好比自界说应用端标语(较量在呆板较量少的环境下,一台呆板照旧需要陈设多个应用的,虽然操作docker的话,是可制止的,这是后话了)、mq的处事地点、缓存处事的处事地点、数据库的设置等,都或多或少的需要一些外部的设置项。

设置文件名目扼要说明

springboot默认的全局设置文件名为application.properties可能application.yml(spring官方推荐利用的名目是.yml名目,昆山软件开发,今朝官网都是实例都是利用yml名目举办设置讲授的),应用启动时会自动加载此文件,无需手动引入。除此之外尚有一个bootstrap的全局文件,它的加载顺序在application设置文件之前,主要是用于在应用措施上下文的引导阶段,昆山软件开发,在后期讲授springCloudCofnig时,主要是操作此特性,举办设置文件的动态修改,在此不表,在凡是环境下,此两个设置文件是没有不同的,所以一般上都只需要设置application即可。

自界说属性值

application.properties设置文件支持自界说属性的支持,好比

blog.address=https://blog.lqdev.cn
blog.author=oKong

然后可通过@Value("${blog.author}")的形式获取属性值。

@RestController
public class DemoController {

    @Value("${blog.address}")
    String address;

    @Value("${blog.author}")
    String author;

    @Value("${blog.desc}")    
    String desc;

    @RequestMapping("/")
    public String demo() {
        return desc;
    }
}

这里提醒下,在填写一些默认的好比,数据库属性时,可利用alt+/的方法,IDE会自动显示提示,制止了手动嵌入属性值可能健忘属性的难过。

添加后在设置 图纸加密 文件点击属性时

关于自界说属性时,出格是一些公用包,会利用到属性值时,发起在建设additional-spring-configuration-metadata.json属性元文件,这样在利用上述快捷方法时,会举办提示,包罗属性名和属性说明,这样也利便挪用者询问属性名是啥。

添加后在设置 图纸加密 文件点击属性时

相关configuration-metadata说明可查察:https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html

属性引用

在设置文件中,各个属性参数可举办引用的,好比:

blog.address=https://blog.lqdev.cn
blog.author=oKong
blog.desc=${blog.author},${blog.address}

最后blog.desc的值即可:oKong,https://blog.lqdev.cn。操作此特性,并可实现一些非凡的成果。好比后期讲授spring cloud时,注册eurka注册中心的实例名时,并会利用雷同如下设置,使得实例名一眼就知道哪台处事地点:

eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}

这里需要留意,由于springboot在读取properties文件时,利用的是PropertiesPropertySourceLoader类举办读取,默认读取的编码是ISO 8859-1,故在默认的设置文件中利用中文时,会呈现乱码,此时可以将中文转成Unicode编码可能利用yml设置名目(默认就支持utf-8),再不济可以将作为设置写入到一个自界说设置文件,操作@PropertySource注解的encoding属性指定编码

随机数

Spring Boot的属性设置文件中可以通过${random}来发生int值、long值可能string字符串,来支持属性的随机值。

# 随机字符串
.blog.value=${random.value}
# 随机int
.blog.number=${random.int}
# 随机long
.blog.bignumber=${random.long}
# 10以内的随机数
.blog.test1=${random.int(10)}
# 1-20的随机数
.blog.test2=${random.int[1,20]}

自界说设置文件

在大都环境下,设置信息根基上都是放入application.properties文件中,但在一些场景下,好比某个设置项较量多时,为了分隔存放,也可自界说设置文件,如my.properties。由于自界说的文件,系统不会自动加载,这个时候就需要手动引入了。 操作@PropertySource注解既可以引入设置文件,需要引入多个时,可利用@PropertySources配置数组,引入多个文件。

@SpringBootApplication
@PropertySource(value="classpath:my.properties",encoding="utf-8")
public class Chapter3Application {

    public static void main(String[] args) {
        SpringApplication.run(Chapter3Application.class, args);
    }
}

设置绑定工具