스프링 부트 - Application.properties의 커스텀 변수
스프링 부트클라이언트에서는 restful api를 사용하고 있습니다.Java 클래스에서 REST API의 IP 주소를 하드코딩하는 대신 application.properties에 사용할 수 있는 키 엔트리가 있습니까?
그렇지 않으면 커스텀 엔트리를 작성할 수 있습니까?
감사해요.
Spring Boot에서 사용하는 인프라스트럭처도 동일한 방법으로 자신의 프로젝트에서 사용할 수 있습니다.@zmitrok 답변에서 "알 수 없는 속성" 경고에 대해 코멘트했습니다.이는 속성에 메타데이터가 없기 때문에 IDE가 이를 인식하지 못하기 때문입니다.
이 제품을 사용하지 말 것을 강력히 권합니다.@Value
Spring Boot에 비해 다소 제한적이기 때문에 가능한 한 (@Value
Spring Framework 기능입니다).
먼저 IP용 POJO를 만듭니다.
@ConfigurationProperties("app.foo")
public class FooProperties {
/**
* IP of foo service used to blah.
*/
private String ip = 127.0.0.1;
// getter & setter
}
그럼 두 가지 선택지가 있어
- 놓다
@Component
에FooProperties
설정 속성의 처리를 유효하게 하기 위해@EnableConfigurationProperties
어느 쪽이든@Configuration
class (스프링 부트 이후 이 마지막 단계는 필요 없습니다)1.3.0.M3
) - 떠나
FooProperties
그대로 덧붙여서@EnableConfigurationProperties(FooProperties.class)
당신의 어떤 사람에게도@Configuration
Spring Bean이 자동으로 생성됩니다.
일단 그렇게 하고 나면app.foo.ip
에 사용할 수 있다application.properties
그리고 당신은 할 수 있다@Autowired
FooProperties
코드에서 속성 값을 찾습니다.
@Component
public MyRestClient {
private final FooProperties fooProperties;
@Autowired
public MyRestClient(FooProperties fooProperties) { ... }
public callFoo() {
String ip = this.fooProperties.getIp();
...
}
}
IDE에서 키는 노란색으로 표시됩니다.마지막 단계는 코드를 검색하여 빌드 시 관련 메타 데이터를 생성하는 종속성을 추가하는 것입니다.다음 항목을 pom.xml에 추가합니다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
그러면 키가 인식되고 javadoc이 있으며 IDE가 기본값(필드에서 초기화한 값)을 제공합니다.변환 서비스 핸들(즉, 변환 서비스 핸들)을 사용할 수 있습니다.URL
필드 상의 javadoc을 사용하여 키 문서를 생성합니다.
다음 중 하나를 추가할 수도 있습니다.JSR-303
필드 제약 조건 검증(예: 유효한 IP인지 확인하기 위한 regex)
상세한 것에 대하여는, 이 샘플 프로젝트와 메뉴얼을 참조해 주세요.
IP 를 속성 파일에 하드 코드 하는 대신에, 다음과 같이 애플리케이션을 기동할 수 있습니다.
-Dmy.property=127.127.10.20
Spring Boot은 이 기능을 통해
@Value("${my.property}")
private String myProperty;
application.properties에 자신의 엔트리를 추가할 수 있습니다.속성 이름이 http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/ #common-application-properties에 나열된 공통 속성과 충돌하지 않는지 확인하십시오.
언급URL : https://stackoverflow.com/questions/32058814/spring-boot-custom-variables-in-application-properties
'programing' 카테고리의 다른 글
파일 API - BLOB에서 JSON으로 (0) | 2023.03.26 |
---|---|
전달할 헤더 매개 변수가 있는 Img src 경로 (0) | 2023.03.26 |
시스템 기본 옵션을 글로벌하게 설정하는 방법.텍스트, Json.Json Serializer? (0) | 2023.03.26 |
AngularJS 컨트롤러 상속 (0) | 2023.03.26 |
ODATA에서 json 형식을 반환하는 방법 (0) | 2023.03.26 |