반응형
Spring @Value("${}")는 종종 null입니다.
저는 스프링 부트 애플리케이션을 사용하고 있습니다.일부에서는@Component
학급@Value
필드는 로드됩니다. 대신 다른 클래스에서는 항상 로드됩니다.null
.
인것 같습니다@Value
다음에 로드됩니다.@Bean
/@Component
생성됩니다.
속성 파일에서 몇 가지 값을 로드해야 합니다.@Bean
.
어떤 제안이 있습니까?
특성(및 모든 빈 종속성)은 빈이 생성된 후(생성자 실행) 주입됩니다.
필요한 경우 생성자 주입을 사용할 수 있습니다.
@Component
public class SomeBean {
private String prop;
@Autowired
public SomeBean(@Value("${some.prop}") String prop) {
this.prop = prop;
//use it here
}
}
또 다른 옵션은 주석이 달린 메소드에서 생성자 로직을 이동하는 것입니다.@PostConstruct
빈이 생성되고 모든 종속성 및 속성 값이 해결된 후에 실행됩니다.
정적 변수로 해결할 때 발생할 수 있습니다.저는 얼마 전에 이것을 관찰했고 정전기를 제거하는 것만으로 해결했습니다.사람들이 항상 말하는 것처럼 정전기를 사용할 때 주의해야 합니다.
시도해 보셨습니까?
@Component
@PropertySource("file:/your/file/path")
public class MyBean {
private @Value("${property}") String property;
...
}
또 다른 가능한 이유는 '@Value' 라인이 이러한 속성/값이 필요한 라인 아래에 있기 때문입니다.
저는 이 문제를 디버깅하는 데 많은 시간을 소비했고, 줄의 순서가 중요하다는 것을 알게 되었습니다!
언급URL : https://stackoverflow.com/questions/28636060/spring-value-often-null
반응형
'programing' 카테고리의 다른 글
이전 값이 적용에서도 계산될 때 Pandas에서 dataframe.apply의 이전 행 값을 사용할 수 있는 방법이 있습니까? (0) | 2023.07.20 |
---|---|
홈브루를 사용하여 맥에 파이썬 2와 3을 모두 설치하려면 어떻게 해야 합니까? (0) | 2023.07.20 |
Native SQL을 사용하는 Dutrinction Orm 2 재귀 쿼리 (0) | 2023.07.15 |
SQL - COALESCE와 ISNULL의 차이? (0) | 2023.07.15 |
SQL Server에서 열이 참조되는 모든 위치를 어떻게 찾을 수 있습니까? (0) | 2023.07.15 |