홈>
@ConfigurationProperties
를 사용하려고합니다
key-value
를로드하려면
application.properties
에서 쌍
파일.
application.properties
soap.action.segalRead=Segal/SegalRead
soap.action.mantilUpdate=Mantil/MantilUpdate
SoapUri.java
@ConfigurationProperties(prefix = "soap.action")
public class SoapUri {
@NotNull
private String segalRead;
@NotNull
private String mantilUpdate;
//getters and setters
}
SoapUriTests.java
@RunWith(SpringRunner.class)
@SpringBootTest
public class SoapUriTests {
@Autowired
private SoapUri soapUri;
@Test
public void testSoapUri_returnsSoapAction() {
assertThat(soapUri.getSegalRead()).isEqualTo("Segal/SegalRead");
assertThat(soapUri.getMantilUpdate()).isEqualTo("Mantil/MantilUpdate");
}
}
위의 단위 테스트는 훌륭합니다.
그러나 pyzwyz를 사용해야합니다 실제 코드에서. 다음 코드를 고려하십시오 :
SoapUri
위에 대해 불평 : "생성자를 명시 적으로 호출하는 동안 soapUri 인스턴스 필드를 참조 할 수 없습니다"
누구든지public class MantilUpdateReadVO extends RequestClientVO {
@Autowired
private SoapUri soapUri;
public MantilUpdateReadVO(final MantilUpdate mantilUpdate) {
super(mantilUpdate, soapUri.getMantilUpdate(), MantilUpdateResponse.class);
}
}
public class RequestClientVO {
private Object readRequest;
private String serviceName;
private Class<?> unmarshalTargetclass;
public MwsRequestClientVO(Object readRequest, String serviceName, Class<?> unmarshalTargetclass) {
super();
this.readRequest = readRequest;
this.serviceName = serviceName;
this.unmarshalTargetclass = unmarshalTargetclass;
}
//getters and setters
}
주사에 대한 해결 방법을 알고 있습니까
그리고
segalRead
와이즈 비즈
와이즈 비츠
mantilUpdate
-
답변 # 1
관련 질문
- java - 웹 서버가 봄 부팅에서 HTTP를 노출하기 전에 코드가 실행되는지 확인하십시오
- java - Spring Webflux에서 런타임에 서버 포트를 어떻게 얻을 수 있습니까?
- java - keycloak - 관리자 rest api를 호출 할 때 사용자 영역 역할을 관리자 cli로 읽을 수 없습니다
- java - 하위 클래스가 여러 개인 경우 Restful 서비스 요청을 설계하는 방법은 무엇입니까?
- java - 주어진 사용자 이름과 암호로 keycloak에 로그인하도록 스프링 부트 애플리케이션을 어떻게 만들 수 있습니까?
- java - saveAll ()이 항상 데이터를 업데이트하는 대신 삽입하는 이유는 무엇입니까?
- java - springboot + thymeleaf - 템플릿 구문 분석 실패
- java - 관계가 null 인 경우 JPA 사양이 작동하지 않습니다
- java - Spring Boot에 사용 된 Systemgetenv ()는 sonarQube의 보안 취약점으로 표시됩니다
- java - Yaml 파일의 KafkaListener 여러 항목
필드 인젝션을 사용하고 있는데, 이는 좋은 생각이 아닙니다. 자세한 내용은 Oliver Gierke의 필드 주입이 악한 이유를 참조하십시오.
인스턴스가 구성 될 때까지 필드를 삽입 할 수 없습니다. 따라서 건설 중에는 주입 된 필드를 사용할 수 없습니다.
다음과 같이 코드를 변경하십시오 :
또한
MantilUpdateReadVO
를 확인해야합니다 Spring Bean입니다.@Component
를 추가해야 할 수도 있습니다 .행운을 빕니다!