<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                使用`@Value("${property}")`注解來注入配置屬性有時會很麻煩,特別是如果您正在使用多個屬性或者您的數據本質上是分層的。 Spring Boot提供了一種使用屬性的替代方法,該方法允許強類型bean管理和驗證應用程序的配置,如以下示例所示: ~~~java package com.example; import java.net.InetAddress; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties("acme") public class AcmeProperties { private boolean enabled; private InetAddress remoteAddress; private final Security security = new Security(); public boolean isEnabled() { ... } public void setEnabled(boolean enabled) { ... } public InetAddress getRemoteAddress() { ... } public void setRemoteAddress(InetAddress remoteAddress) { ... } public Security getSecurity() { ... } public static class Security { private String username; private String password; private List<String> roles = new ArrayList<>(Collections.singleton("USER")); public String getUsername() { ... } public void setUsername(String username) { ... } public String getPassword() { ... } public void setPassword(String password) { ... } public List<String> getRoles() { ... } public void setRoles(List<String> roles) { ... } } } ~~~ 上的對象定義了下面的屬性 * acme.enabled,默認值false * acme.remote-address,從String轉換而來 * acme.security.username,使用內部類`security` * acme.security.password * acme.security.roles,使用了`String`的集合 你還要把配置類注冊到`@EnableConfigurationProperties`,如下所示: ~~~ @Configuration @EnableConfigurationProperties(AcmeProperties.class) public class MyConfiguration { } ~~~ > `@ConfigurationProperties`bean注冊之后,bean的常規name是`<prefix>-<fqn>`,其中`<prefix>`是 `@ConfigurationProperties`注解時指定的前綴值, > `<fqn>`是全限定類名稱,上面的示例bean名稱為`acme-com.example.AcmeProperties`,如果不設置前綴,那么就是`com.example.AcmeProperties` > 即使前面的配置為`AcmeProperties`創建了一個常規bean,我們也建議`@ConfigurationProperties`只處理環境,特別是不從上下文中注入其他bean。 話雖如此,`@ EnableConfigurationProperties`注解也會自動應用于您的項目,以便從`Environment`配置任何使用`@ConfigurationProperties`注解的bean。 您可以通過`MyConfiguration `確保`AcmeProperties`已經是一個bean,如以下示例所示: ~~~ @Component @ConfigurationProperties(prefix="acme") public class AcmeProperties { // ... see the preceding example } ~~~ 使用`@ConfigurationProperties`,像使用其他bean那樣注入接口,如下所示: ~~~ @Service public class MyService { private final AcmeProperties properties; @Autowired public MyService(AcmeProperties properties) { this.properties = properties; } //... @PostConstruct public void openConnection() { Server server = new Server(this.properties.getRemoteAddress()); // ... } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看