BackEnd/스프링

@Value 는 객체 bean 등록 필수, static 키워드 사용 x

ssseung 2022. 7. 23. 23:50

1. @Value 는 Bean 등록 후 property 에서 값을 주입해주므로 @Value 를 사용하는 객체를 @Bean, @Component 로 등록해야한다.

 

2. FileUtil 을 생성하면서 업로드나 경로를 얻는 것을 어디서든 편하게 사용하려고 static 메서드로만 채우면서 

@Value 로 설정한 fileUploadPath 필드를 static 메서드에서 사용하기 위해 static 변수로 선언했는데, 

property 에서 읽은 값이 들어오지 않았다.


아래와 같은 글을 발견하고 static 을 전부 삭제하니 정상적으로 동작한다.

 

 

https://stackoverflow.com/questions/28636060/spring-value-often-null

 

Spring @Value("${}") often null

I'm using Spring Boot application. In some @Component class @Value fields are loaded, instead on other classes they are always null. Seems that @Value(s) are loaded after my @Bean/@Component are c...

stackoverflow.com

 

반응형