1.@Valueアノテーションの読み込み方法
application.yml カスタム構成
読み取り構成クラス
package com.ruoyi.common.core.domain;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class OpcserverConfig {
@Value("${opcserver.ip}")
private String ip;
@Value("${opcserver.port}")
private String port;
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
}
2.@ConfigurationPropertiesアノテーションの読み込み方法
構成クラスの読み取り
package com.ruoyi.common.core.domain;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "opcserver")
public class OpcserverConfig2 {
private String ip;
private String port;
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
}
指定されたファイルを読み取ります
注: 1. リソース ディレクトリ (resources) の下に作成されます。 2. @PropertySource は yml ファイルの読み込みをサポートしていません。
方法1:@PropertySource+@Valueアノテーションの読み込み方法
package com.ruoyi.common.core.domain;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@PropertySource(value = "opcconfig.properties")
public class OpcConfig {
@Value("${opc.ip}")
private String ip;
@Value("${opc.port}")
private String port;
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
}
方法2:@PropertySource+@ConfigurationPropertiesアノテーションの読み込み方法
package com.ruoyi.common.core.domain;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "opc")
@PropertySource(value = {
"opcconfig.properties"})
public class OpcConfig2 {
@Value("${opcs.ip}")
private String ip;
@Value("${opc.port}")
private String port;
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
}
3. 環境は設定を直接読み取ります
@Autowired
private Environment env;
public String getOpcIp(){
return env.getProperty("opc.ip");
}