@ConfigurationProperties 기능을 사용하는 데 문제가 있습니다. 아마 메커니즘이 매우 단순 해 보이기 때문에 뭔가 빠졌지 만 나에게는 효과가 없습니다.Spring @ConfigurationProperties가 채워지지 않았습니다.
나는 다음과 같은 주요 애플리케이션 클래스와 봄 부팅을 사용하고
QueuesProperties와@SpringBootApplication
@EnableAspectJAutoProxy
@EnableConfigurationProperties(QueuesProperties.class)
@PropertySource("file:config/queues.properties")
@ImportResource("classpath:/spring-config.xml")
public class Application {
public static void main(String... args) {
ConfigurableApplicationContext ctx = SpringApplication.run(Application.class, args);
}
}
(I 문제를 분리하려고)
@ConfigurationProperties(prefix = "wmq.in.queue")
public class QueuesProperties {
private static final Logger LOGGER = LoggerFactory.getLogger(QueuesProperties.class);
private String descr;
public String getDescr() {
return descr;
}
public void setDescr(String descr) {
this.descr = descr;
}
}
특성 파일은 매우 간단
wmq.in.queue.descr = description
그런 다음 @Componen의 QueuesProperties를 @Autowired하려고합니다. 나는 스프링 통합 흐름에서 a를 사용한다. QueuesProperties가 올바르게 주입되었지만 descr
속성이 null입니다.
@Autowired
private QueuesProperties queuesConfiguration;
이
@Value("${wmq.in.queue.descr}")
private String descr;
동안 정확하게 평가한다.
다른 구성이나 코드로 많은 시도를했지만 그 결과는 같습니다. QueuesProperties 빈을 얻지 만 채워지지 않습니다.
무엇이 누락 되었습니까?
을 도울 수 있기를 바랍니다
응용 프로그램의 구성 속성을 넣어하는 장소를 이름 지정 application.properties에게 좋은 이름을 고려 (실제로는 2, 하나 classpath의 기본값과 하나는 파일의 재정의 : config/application.properties)와 외부의 속성에서로드하려고 시도했지만 이제는 문제를 격리하려고 시도하고 다른 속성 파일을 추가했습니다. (file : config/queues.properties) 'wmq.in.queue.descr = description' – nex
내 샘플에서와 같이 @EnableConfigurationProperties를 사용하여 구성/구성 요소 클래스에 주석을 추가합니까? –
Application 클래스에 @EnableConfigurationProperties (QueuesProperties) 주석을 달았습니다.클래스) 및 @PropertySource ("파일 : 설정/queues.properties") – nex