网站架构设计师求职信,网站使用的数据库主要有哪些,微信关联网站,河北自助建站系统平台我们都知道平常在使用SpringBoot和SpringCloud的时候#xff0c;如果需要加载一两个配置文件的话我们通常使用Value(“${属性名称}”)注解去加载。但是如果配置文件属性特别多的时候使用这种方式就显得特别的不友好了。 比如说#xff0c;我们要加载下方这个名为application.… 我们都知道平常在使用SpringBoot和SpringCloud的时候如果需要加载一两个配置文件的话我们通常使用Value(“${属性名称}”)注解去加载。但是如果配置文件属性特别多的时候使用这种方式就显得特别的不友好了。 比如说我们要加载下方这个名为application.yml的配置文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
kafka: brokerAddress: 110.35.113.62:9092,123.27.143.72:9095,180.17.133.52:9096 smsTopic: testTopic smsCosumeGroup: testTopicGroup timerTaskTopic: timerTopic timerTaskGroup: timerGroup jvmNumbers: 3 security: authentication: jwt: secret: 0550224055e1848081dba46d8ad325f503fa141b tokenValidityInSeconds: 86400 —|—
此时我们有两种方式来简化这个加载方式
1
这种方式呢是同过层层嵌套的方式一层一层的按照配置文件属性的方式来进行注入的。大家只要把这个类跟上方提供的配置文件进行对比就会明白它的方式了。注意下方的所有属性因为篇幅问题没有增加get、set方法实际使用过程中请自行添加
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 |
ConfigurationProperties(prefix application, ignoreUnknownFields false)
public class ApplicationProperties1 { private final Security security new Security(); private final Kafka kafka new Kafka(); public static class Kafka { private String brokerAddress; private String smsTopic; private String smsCosumeGroup; private String timerTaskTopic; private String timerTaskGroup; private String jvmNumbers; } public static class Security { private final Authentication authentication new Authentication(); public static class Authentication { private final Jwt jwt new Jwt(); public static class Jwt { private String secret; private long tokenValidityInSeconds; } } } } —|—
2
这种方式就是以指定的配置前缀为依据去取配置同上没有写get、set方法
例如kafka的配置可以这样来
1
2
3
4
5
6
7
8
9
10
11
12 |
Configuration
ConfigurationProperties(prefix kafka,ignoreUnknownFields false)
PropertySource(value { classpath:application.yml },ignoreResourceNotFoundfalse)
public class ApplicationProperties { private String brokerAddress; private String smsTopic; private String smsCosumeGroup; private String timerTaskTopic; private String timerTaskGroup; private String jvmNumbers;
} —|—
而Security的配置这样来
1
2
3
4
5
6
7
8
9 |
Configuration
ConfigurationProperties(prefix security.authentication.jwt,ignoreUnknownFields false)
PropertySource(value { classpath:application.yml },ignoreResourceNotFoundfalse)
public class ApplicationProperties { private String secret; private long tokenValidityInSeconds;
} —|—
补充
大家可能会注意到我上方的几个类中都没有写get和set方法因为那个东西其实所占的篇幅实在是太长了。那么有什么办法可以补救么其实是有办法的一个注解就可以全搞定哟。
什么你不信不信来看看呀IDEA中使用lombok插件
结语
怎么样学会这个以后Leader还会担心你的代码臃肿么。 本文出自http://zhixiang.org.cn,转载请保留。