@Value 3

@Value애너테이션과 스프링 빈 생명주기 오류(2024-02-05)

Issue 플리보따리 서비스에서 SpotifyApi관련 유틸을 만들고있던 과정에 발생한 일이다. SpotifyConfig 클래스를 리팩토링 하고있었다. 간단히 설명하자면, SpotifyApi를 생성할려면 개발자 페이지에서 발급받은 클라이언트 키와 비밀번호를 가지고 있어야 한다. 클래스는 하나의 역할을 가진다는 클린코드 철학으로 나는 SpotifyApi 관련 기능들을 SpotifyConfig 내에 맡겼다. 본론으로 들어가서 아래 코드을 보면 import javax.annotation.PostConstruct; @Component @Slf4j public class SpotifyConfig { @Value("${spotify.registration.client-id}") private String CLIEN..

카테고리 없음 2024.02.05

@Value 스프링 빈 사이클에 따른 적용불가 오류 해결

이전포스트의 문제해결을 다른 관점으로 해결해 보았다. 해당 부분을 yml을 이용해서 @Value 애너테이션 을 이용하여서 숨길려고 시도해 보았지만 spotifyAPI.clientCredentials().build() 부분에서 로그상에 정상적으로 토큰이 존재하는데도 불구하고 옳지 않은 키 값으로 나왔다. 아무래도 스프링이로 등록될때 절차상에 제가 놓친부분이 있는거 같았다 ! @Slf4j @Component public class SpotifyConfig { private static String CLIENT\_ID; private static String CLIENT\_SECRET; @Value("${spotify.registration.client-id}") public void setClientId(S..

@Value 애너테이션 static 필드에 적용하기.

application.yml에 적어놓았던, 클라이언트 키를 이용해서 접근할려고 하니, 계속 유효하지 않다는 애러가 반복되었다. spring: datasource: url: ${DB_URL} driver-class-name: ${DB_DRIVER} username: ${DB_USER} password: ${DB_PASSWORD} hikari: maximum-pool-size: 20 jpa: properties: hibernate: dialect: org.hibernate.dialect.MySQL8Dialect show_sql: true format_sql: true database: mysql show-sql: true hibernate: ddl-auto: update defer-datasource-ini..