이야기를 나눠요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
[최신] Vue 강의 끝판왕 : Nuxt 3 완벽 마스터
UI 프레임워크 고민
안녕하세요. 강의 보면서 퀘이사도 잘 따라서 사용하고 있습니다.다름이 아니라 최근 shadcn-vue라는 ui framework를 보게되었는데 괜찮아 보여서요.혹시 강사님도 아시는 프레임워크인지 아신다면 어떤 의견이 있으신지 궁금합니다.곧 새 프로젝트를 진행해야 하는데 도움이 될것 같습니다.
-
호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
@Value 어노테이션을 사용해서 KEY를 주입받고 싶을때!!!
호돌맨님의 강의를 정말 열심히 듣고 있는 학생입니다.다름이 아니라 호돌맨님 강의와는 다른 방향으로 한번 KEY를 세팅해 볼 수는 없을까?? 라는 생각이 들었고 혹시나 저와 같은 문제를 마주친 분들 및 피드백을 받고 싶어서 글을 남깁니다.@Value 어노테이션을 사용하여 application.yml(프로퍼티) 파일에서 값을 가져오는 방법을 적용해 보았습니다.//application.yml spring: # secret properties profiles: include: secret//application-secret.yml jwt: secret: "ZxV0wmgRyU8ZGYBRITUGcaOi03osZK1bsy7qEUUjgBs="KEY 값을 application.yml 과 분리시키기 위해 별도로 .yml 파일을 생성하여 저장하였습니다.//AuthController @Slf4j @RestController @RequiredArgsConstructor @RequestMapping("/api/auth") public class AuthController { private final AuthService authService; @Value("${jwt.secret}") private String KEY; ~~~~ }//AuthResolver @Slf4j @Component @RequiredArgsConstructor public class AuthResolver implements HandlerMethodArgumentResolver { private final SessionJpaRepository sessionJpaRepository; /** * TODO:jwt.secret 이 null 인 문제... * why??? */ @Value("${jwt.secret}") private String KEY; ~~~ }AuthController 와 AuthResolver 에 @Value 어노테이션을 사용하여 KEY 변수에 .yml 파일에 정의한 secret 값을 주입받게끔 코드를 작성하였습니다.그러나 AuthController 에서는 정상적으로 .yml 파일에 정의해준 KEY 값이 주입이 되었지만 이상하게 AuthResolver 에서는 KEY 값이 null 이 나오더라구요...@Component 어노테이션도 적용해서 Bean 객체로 만들어줬는데도 말이죠 ㅠㅠhttps://wildeveloperetrain.tistory.com/143이 블로그에서 힌트를 얻을 수 있었습니다.바로 WebMvcConfig 에서 AuthResolver 를 등록할때 new 연산자를 사용하여 새로운 인스턴스를 등록해주었기 때문이었습니다. new AuthResolver(sessionJpaRepository)//WebMvcConfig private final AuthResolver authResolver; @Override public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) { // resolvers.add(new AuthResolver(sessionJpaRepository)); resolvers.add(authResolver); }그래서 new 연산자를 사용하는 것이 아닌 빈으로 등록된 인스턴스를 사용하여서 해결할 수 있었습니다.다른분들에게 도움이 되셨으면 하는 마음에 글을 남깁니다. 혹시나 개선해야 될 점이 있거나 잘못된 부분이 있으면 댓글로 알려주시면 감사하겠습니다!!