几天前,我在检查其他内容时不小心偶然发现了Spring Boot项目中的Spring注释。
我们都知道如何将带有“ @Value”的属性值绑定到类,并且我们都知道如果要绑定多个属性,这可能会很麻烦。 Spring Boot可以为您提供帮助。 您可以使用“ @ConfigurationProperties”并简洁地绑定多个值。 我们会给一个前缀,以区别于我们的其他配置。 例如“ @ConfigurationProperties(prefix =“ jdbc”)”。
该带注释的类具有的任何字段都将填充有来自属性资源的属性值。 例如,如果它具有用户名参数,则带有“ jdbc.username”键的属性资源将填充此字段。 使用此注释的最实用方法是将其与“ @Configuration”一起使用。
您可以检查我们如何创建config类。
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); } }
在下面,您可以检查我们从应用程序属性映射的属性
jdbc.user=myJdbcUser jdbc.password=myPwd jdbc.url=myUrl jdbc.driver=myJdbcDriver
之后,您可以通过将配置类注入某个地方来轻松获得这些值。
@Service public class YourService { @Autowired private JdbcConfig jdbcConfig; }
您也可以在此处使用“ @ConfigurationProperties”检查玩具项目是否正常。
翻译自: https://www.javacodegeeks.com/2019/12/spring-annotations-i-never-had-the-chance-to-use-part-2-configurationproperties.html