저는 봄에 익숙하지 않아 기본적으로 처음으로 REST 서비스를 만들려고합니다. 반환하려는 데이터 중 일부는 속성 파일의 일부 데이터입니다.스프링 부트 : 속성 파일에서 변수를 가져 오는 클래스에서 @RestController를 사용하는 방법
@Configuration
@PropertySource("classpath:client.properties")
public class PropertyConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer
propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
이 내가 API에서 반환 할 정보를 포함하는 클래스입니다 :
이 내 구성 콩입니다. 값 위로 마우스를 가져 가면 속성이 주입되고 있음을 알 수 있습니다.
public class ProviderInfo {
@Value("${op.iss}") private String issuer;
@Value("${op.jwks_uri}") private String jwksURI;
@Value("${op.authz_uri}") private String authzURI;
@Value("${op.token_uri}") private String tokenURI;
@Value("${op.userinfo_uri}") private String userInfoURI;
// Getter methods
}
그리고 이것은 내가 그 엔드 포인트로 이동하면, 모두가 null 인 RestController
@RestController
public class ProviderInfoController {
@RequestMapping(value = "/provider-info", method = RequestMethod.GET)
public ProviderInfo providerInfo() {
return new ProviderInfo();
}
}
입니다 :
{"issuer":null,"jwksURI":null,"authzURI":null,"tokenURI":null,"userInfoURI":null}
아무도 내가 잘못 뭘하는지 볼 수 있을까요? 아니면 일반적으로 이것을 달성하는 더 좋은 방법이 있다면?
감사합니다.
'ProviderInfo'를 관리 빈으로 만드는 한 가지 방법은 그것을'@ Component'로 표현하는 것입니다. –
저에게 효과적입니다. 감사! –