2022. 11. 28. 10:11ㆍBACKEND/TROUBLE SHOOTING
문제
어디서 터졌는지 모름...
해결
application.properties 파일에 아래 코드를 추가한다.
spring.main.allow-bean-definition-overriding=true
설명
Spring Boot 2.1.0에는 Spring 5.1.0 Framework가 반영된다. Spring Boot 2.1 이전 버전에서는 Bean의 Overriding이 허용되었으나 Spring 5.1.0 Framework는 컴포넌트 탐색 과정에서 발생하는 오버헤드를 감소시키기 위해 여러가지 정책을 실시했는데 그 중 하나가 생성한 빈을 덮어쓰는 상황을 강제적으로 제한하는 것이다. 그래서 빈 등록에 동일한 이름을 사용한다면 BeanDefinitionOverrideException이 발생한다. 이것은 Spring Boot 설정이 아니고 Spring Framework에서 빈을 등록하는 과정에서 발생하는 것인데 이에 대한 속성을 비활성화할 수 있는 기능을 제공한다.
공식문서
Bean Overriding
Bean overriding has been disabled by default to prevent a bean being accidentally overridden. If you are relying on overriding, you will need to set spring.main.allow-bean-definition-overriding to true.
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.1-Release-Notes
GitHub - spring-projects/spring-boot: Spring Boot
Spring Boot. Contribute to spring-projects/spring-boot development by creating an account on GitHub.
github.com
참고자료
[2.1] BeanDefinitionOverrideException 예외 발생시
스프링 부트 2.1.0 에는 스프링 5.1.0 프레임워크가 반영되었다.스프링 5.1.0 은 컴포넌트 탐색과정에서 발생하는 오버헤드를 감소시키기 위한 여러가지 정책이 반영되었는데, 그 중에 하나가 생성
java.ihoney.pe.kr
'BACKEND > TROUBLE SHOOTING' 카테고리의 다른 글
[trouble shooting] git CRLF (0) | 2022.12.06 |
---|---|
[trouble shooting] wrong value with @AllArgsConstructor & @RequiredArgsConstructor (0) | 2022.11.30 |
[trouble shooting] createdAt, modifiedAt null (0) | 2022.11.29 |
[python] flask의 폴더 구조 (0) | 2022.11.09 |
[python] My first trouble shooting (0) | 2022.11.07 |