아델
688
2020-09-22 14:00:28 작성 2020-09-22 14:52:10 수정됨
3
184

스프링 빈 주입


@PropertySource("classpath:jwt_token.yml")
@ConfigurationProperties(prefix="applicaion.jwt")
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class JwtConfig { // 빈으로 등록안된 JwtConfig

    private String secretKey;
    private String tokenPrefix;
    private Integer tokenExpirationAfterDays;
    

    public String getAuthorizationHeader(){
        return HttpHeaders.AUTHORIZATION;
    }
}


---


@Configuration
@RequiredArgsConstructor
public class JwtSecretKey {

    private final JwtConfig jwtConfig;
질문 :JwtConfig는 빈으로 등록안됐는데 이렇게 주입받을수 있나요?
    코드가 잘못된거겠죠?

    @Bean
    public SecretKey secretKey(){
        return Keys.hmacShaKeyFor(jwtConfig.getSecretKey().getBytes());
    }
}




0
  • 답변 3

  • dlalskwk2
    406
    2020-09-22 14:32:36

    빈 주입안했으면

    생성자를 만들어줘야합니다


  • 아델
    688
    2020-09-22 14:40:37

    dlalskwk2
    생성자는 @RequiredArgsConstructor를 이용해서 만들어서 괜찮습니다


  • 아델
    688
    2020-09-22 15:08:17

    https://www.baeldung.com/configuration-properties-in-spring-boot

    3.1 을 보시면 답이 나와있습니다

    빈 등록을 자동으로 해주는걸로 업데이트 되었네요

    궁금해서 오신분들은 여길 보면 될것 같습니다

  • 로그인을 하시면 답변 을 등록할 수 있습니다.