Несколько дней назад я случайно наткнулся на аннотацию Spring из проекта Spring Boot, пока проверял что-то еще.
Мы все знаем, как связать значения свойств с @Value с классами, и мы все знаем, что это может быть довольно громоздким, если существует несколько свойств для привязки. Spring Boot здесь, чтобы помочь. Вы можете использовать «@ConfigurationProperties» и довольно кратко связать несколько значений. Мы дадим префикс, чтобы отличать другие конфиги от наших. например, «@ConfigurationProperties (prefix =« jdbc »)».
Любое поле, которое имеет этот аннотированный класс, заполняется значениями свойств из ресурса свойств. Например, если у него есть параметр username, в этом поле будет заполнен ресурс ресурса с ключом «jdbc.username». Наиболее практичный способ использования этой аннотации — использовать ее с «@Configuration».
Вы можете проверить, как мы создаем класс конфигурации.
|
01
02
03
04
05
06
07
08
09
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
package com.sezinkarli.tryconfigprops;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Configuration;import javax.annotation.PostConstruct;import java.util.HashMap;import java.util.Map;@Configuration@ConfigurationProperties(prefix = "jdbc")public class JdbcConfig{ private String user; private String password; private String url; private String driver; public String getUser() { return user; } public void setUser(String user) { this.user = user; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getDriver() { return driver; } public void setDriver(String driver) { this.driver = driver; } public String getProperty(String key) { return propertyMap.get(key); }} |
А ниже вы можете проверить свойства, которые мы отображаем из свойств приложения
|
1
2
3
4
|
jdbc.user=myJdbcUserjdbc.password=myPwdjdbc.url=myUrljdbc.driver=myJdbcDriver |
После этого вы можете легко получить эти значения, введя куда-нибудь класс конфигурации.
|
1
2
3
4
5
6
7
|
@Servicepublic class YourService{ @Autowired private JdbcConfig jdbcConfig;} |
Вы также можете проверить работающий игрушечный проект здесь, используя «@ConfigurationProperties».
|
Опубликовано на Java Code Geeks с разрешения Сезина Карли, партнера нашей программы JCG . Смотрите оригинальную статью здесь: весенние аннотации, у меня никогда не было возможности использовать часть 2: @ConfigurationProperties Мнения, высказанные участниками Java Code Geeks, являются их собственными. |