• 최근 추세는 proxyBeanMethods를 @Bean 메소드 직접 호출로 의존 오브젝트를 가져오는 방식을 쓰지 않는 경우라면 false로 세팅하는 것
  • 대부분의 경우 빈 오브젝트를 생성하는 메소드 호출은 스프링 컨테이너가 담당하기 때문에 문제가 되지 않음
  • 팩토리 메소드 스타일로 빈을 생성하는 방식이 싱글톤을 보장하기 위해서 프록시 클래스를 만들어 캐싱을 하게 해야하는데, 이런 클래스 프록시 생성은 동적으로 일어나기 때문에 스프링 6의 네이티브 컴파일 등을 적용할 때 문제가 발생
  • 물론 스프링은 이를 처리할 수 있는 방법을 만들기는 했지만, cglib등의 사용은 점차 줄어드는 것이 자연스러운 결과라고 함
  • 특히 자바 코드를 봤을 때 예상할 수 있는 동작과 실제 스프링위에서 런타임에서 동작되는 방식에 차이가 생기는 것은 비직관적
  • 스프링 컨테이너가 있고 없고에 따라서 평범한 코드가 다른 방식으로 동작하는 것은 좋은 설계라고 볼 수 없음
  • 나름 자바 코드를 이용한 빈 설정을 단순하게 만들기 위해서 등장한 방식이지만 프록시 클래스의 생성은 가능한 피하는 것이 좋다고 함