• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@Bean 어노테이션 지정시 오류

22.11.08 20:10 작성 조회수 269

0

안녕하세요 현재 [다국어 처리를 위한 Internationalization 구현] 강의를 수강하고 있습니다.

@SpringBootApplication 어노테이션이 있는 RestfulWebServiceApplication 클래스에서 localeResolver() 메소드에 @Bean 어노테이션을 지정하면 하단의 오류가 출력되는데 어디가 문제인지 도저히 모르겠습니다..


at kr.co.restfulwebservice.RestfulWebServiceTutorialApplication$$EnhancerBySpringCGLIB$$b793cc96.localeResolver(<generated>) ~[classes/:na]

at kr.co.restfulwebservice.RestfulWebServiceTutorialApplication.localeResolver(RestfulWebServiceTutorialApplication.java:22) ~[classes/:na]

at kr.co.restfulwebservice.RestfulWebServiceTutorialApplication$$EnhancerBySpringCGLIB$$b793cc96.CGLIB$localeResolver$0(<generated>) ~[classes/:na]

at kr.co.restfulwebservice.RestfulWebServiceTutorialApplication$$EnhancerBySpringCGLIB$$b793cc96$$FastClassBySpringCGLIB$$5b79685e.invoke(<generated>) ~[classes/:na]

at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.3.23.jar:5.3.23]

at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.3.23.jar:5.3.23]

답변 1

답변을 작성해보세요.

0

안녕하세요, 이도원입니다.

올려주신 메시지로는 정확한 원인을 찾기가 어렵지만, 만약 localeResolver 메소드가 사전에 Bean으로 이미 등록되어 있기 때문에, 애플리케이션을 실행할 수 없다는 에러 메시지도 발생한 경우라면, 아래와 같이, 기존에 등록 된 Bean을 재정의할 수 있도록 설정을 변경해 주신 다음에 실행해 보시기 바랍니다.

spring:
  messages:
    basename: messages
    fallback-to-system-locale: false

  main:
    #spring.main.allow-bean-definition-overriding=true
    allow-bean-definition-overriding: true

 

제가 테스트 한 코드는 Spring Boot 2.7.3 이며, 최신 코드는, 아래 githbu에서 확인해 보실 수 있습니다.

https://github.com/joneconsulting/my-restful-services

감사합니다.