오늘 또 하나 배웠다. 하드코딩된 부분을 application.yml파일에서 변수로 사용하려 했는데, @value 어노테이션이 계속 먹히지 않고 null만 찍혔다.
profile이 제대로 작동하지 않은 줄 알았는데 아니었다.
원인은 해당 클래스가 new로 생성된 객체였기 때문이었다.
@value 어노테이션은 Spring을 사용하는 것이기 때문에 컨테이너에 등록되어있어야 한다.
그런데 new로 생성되면 새로운 객체가 되기 때문에 적용이 될 수 없다.
또 한가지 💡
내가 @value를 사용하려는 클래스는 Spring을 사용하는 구간이 아니다. 그렇기 때문에 순수 자바로 이루어진 부분이기 때문에 어노테이션을 활용할 수 없었다.
'TIL' 카테고리의 다른 글
[TIL] try-catch-resource 와 AutoClosable (0) | 2023.05.31 |
---|---|
[TIL] filter와 intercepter (0) | 2023.05.29 |
[TIL] jar파일 수정하고 다시 압축하여 배포하기 (0) | 2023.05.26 |
[TIL] jar파일 압축, 압축해제 커맨드 명령어 (0) | 2023.05.25 |
[TIL] ''은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. - 해결 (0) | 2023.05.24 |