You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
이 경우는 application.properties에 변수가 아닌 import를 사용해서 등록해줘야 합니다.
이 경우 아래와 같이 가독성이 심하게 떨어집니다. spring.config.import=classpath:auth/auth.properties,classpath:auth/auth.key.local.properties,classpath:webconfig/signin-interceptor.yaml
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
어떤 방법이 좋을지 잘 모르겠어 discussion으로 남깁니다.
발단은 인터셉터에 사용 될 path를 프로퍼티로 관리하는 것이었습니다.
properties를 사용하면 아래처럼 됩니다.
interceptor.signin.path.to-include=groups/**,sompath1/**,somepath2/**
지금은 짧지만 혹여나 세부적으로 지정해야할경우 가동성이 떨어저 관리하기 힘들 것으로 생각됩니다.
대안은
배열 순서를 0, 1, 2 와 같이 지정해줘야 해서 오타에 취약할 것이라 생각됐습니다.
대안으로 yaml을 쓰는 방법이 있습니다.
하지만 yaml파일은
PropertySource
로 정상적인 사용이 불가능합니다.첫 번째 해결법은 추가로 팩토리를 추가해주는 것입니다.
두 번째는
ConfigurationProperties
를 사용하는 것입니다.이 경우는 application.properties에 변수가 아닌 import를 사용해서 등록해줘야 합니다.
이 경우 아래와 같이 가독성이 심하게 떨어집니다.
spring.config.import=classpath:auth/auth.properties,classpath:auth/auth.key.local.properties,classpath:webconfig/signin-interceptor.yaml
이렇게 바꿀 수 있습니다.
셋째로 아예 다른 방식으로 프로퍼티를 주입하는 것입니다. path를 Java 코드로 관리합니다.
PropertySource는 문제가 생길 수 있다는 시각입니다.
개인적으로는 application.properties는 어찌됐건 yaml파일로 바꿔서 관리하는게 좋을 것 같습니다.
Beta Was this translation helpful? Give feedback.
All reactions