Spring bootでapple.ymlプロファイルを取得する
実際の開発では、環境設定をymlにしますが、私たちはどのようにymlの値を取得しますか?
まず3種類のymlをください
方式1:@Valueの注釈を使う方式.
より詳細なのはこの記事を参照することができます.https://juejin.im/post/5b0440a5f265da0b886dc2e9
まず3種類のymlをください
mavenDemo:
port: 80
mavenDemo1:
super:
port: 81
mavenDemo2:
List:
- port: 82
- port: 83
例えば、このようなymlフォーマットはどのようにそれぞれの値を取得しますか?方式1:@Valueの注釈を使う方式.
public class DemoProperties {
@Value("${mavenDemo.port}")
private Integer port;// yml :80
@Value("${mavenDemo.port:8080}")
private Integer defaultPort;// yml 80, 8080
@Value("${mavenDemo1.super.port}")
private Integer superPort;// mavenDemo->super->port 81
@Value("${mavenDemo2.List[0].port}")
private Integer ListPort;// mavenDemo2 List port :82
}
方式1:@ConfigrationProptiesの注釈を使う方式.mavenDemo:
port: 80
debugPort: 81
mavenDemo1:
List:
- port: 82
debugPort: 8282
- port: 83
debugPort: 8383
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
@Data
@ConfigurationProperties(prefix = DemoProperties.PREFIX)
public class DemoProperties {
public static final String PREFIX = "mavenDemo";
private Integer port; //80
private Integer debugPort; //81
}
コードの中に上のタイプを使うときは、注入方式を使うことができます.@Autowired
DemoProperties demoProperties ;
Listに対するこのような@Data
@ConfigurationProperties(prefix = DemoProperties.PREFIX)
public class DemoProperties {
// yml
public static final String PREFIX = "mavenDemo1";
List listProperties = new ArrayList();;
}
@Data
class PortProperties{
private Integer port;
private Integer debugPort;
}
より詳細なのはこの記事を参照することができます.https://juejin.im/post/5b0440a5f265da0b886dc2e9