Spring을 읽는 곳은 구성보다 편리함을 제공합니다. 그러나 Spring 사람들은 구성을 너무 많이 변경하여 XML 구성이나 주석을 사용하는 것이 실제로 혼란 스럽습니다.
XML과 주석을 사용할 때 확실한 방법론이나 경험 법칙을 제안하고 싶습니다.
SO의 예는 나와 같은 많은 초보자가 구성에 대해 혼란스러워하고 있음을 보여줍니다.
-
<context:annotation-config>
및 의 기능을 파악하지 못하는 것 같습니다<context:component-scan>
.내가 읽은 것에서 그들은 다른 주석 (@Required, @Autowired etc vs @Component, @Repository, @Service 등)을 처리하는 것처럼 보이지만 읽은 것에서도 동일한 bean post processor 클래스를 등록합니다.
나를 더 혼란스럽게하기 위해
annotation-config
속성이 있습니다<context:component-scan>
... -
여전히 컴포넌트 스캔 태그가 있습니다.
<context:component-scan base-package="com.mycompany.maventestwebapp" />
그러나 다른 태그 (유사한 작업이있는 것처럼 보입니다)가 있습니다.
<annotation-driven />
이 두 태그의 차이점은 무엇입니까? 또 다른 "이상한"것은 이전 예제 (주석 기반 태그를 사용하지 않음)가 Spring MVC Template 프로젝트를 사용하여 STS가 만든 프로젝트와 매우 유사하지만 구성에서 주석 기반 태그를 삭제하면 프로젝트가 실행되지 않고 다음과 같은 오류가 발생합니다. HTTP 상태 404 -...
Spring 3.2는 더 이상 프록 싱을 위해 cglib가 필요하지 않지만, 낮은 버전은 cglib을 사용합니다. springsource 블로그에서 인용
이러한 프록시를 생성하기 위해 Spring은 cglib라는 타사 라이브러리를 사용합니다. 불행히도이 프로젝트는 더 이상 활성화되지 않습니다. Spring 3.2에서는 Spring이 기본적으로 Javassist를 사용할 가능성이 큽니다.
이것들은 Spring이 구성에 대한 혼란이라는 것을 제안하기에 충분합니까?