복붙노트

[SPRING] @Constructor annotation에 의해 annoted 된 Spring 구성 클래스에 기본 생성자가 있어야하는 이유는 무엇입니까?

SPRING

@Constructor annotation에 의해 annoted 된 Spring 구성 클래스에 기본 생성자가 있어야하는 이유는 무엇입니까?

저는 Spring 핵심 자격증을 받기 위해 공부하고 있습니다. 제공된 스터디에서이 질문이 있지만 대답을 드릴 수는 없습니다.

@Configuration 어노테이션으로 선언 된 구성 클래스에 어떤 생성자도 선언하지 않습니다. 기본 생성자는 수퍼 클래스에서 상속받은 생성자입니까? 또는 무엇을? 왜 기본 생성자가 있어야하며 재정의 할 수 없습니까?

Txx

해결법

  1. ==============================

    1.공식적인 스프링 javadoc에 따르면, 스프링 @Configuration 주석이 달린 클래스에는 기본 no-arg 생성자가 있어야합니다

    공식적인 스프링 javadoc에 따르면, 스프링 @Configuration 주석이 달린 클래스에는 기본 no-arg 생성자가 있어야합니다

    그 이유는 스프링이 @Configuration 클래스를 프록시하기 위해 CGLIB를 사용하고, 버전 4 이전에 CGLIB로 프록시 된 클래스는 디폴트 no-args 생성자를 가져야한다는 점에서 Spring에는 제한이있다.

  2. from https://stackoverflow.com/questions/29073254/why-i-must-have-a-default-constructor-in-a-spring-configuration-class-annoted-by by cc-by-sa and MIT license