2013-04-08 2 views
2

봄과 최대 절전 모드 스택.차이점은 무엇입니까? 가져 오기를 사용하여 context-param에서 파일 지정?

태그 아래에 web.xml 파일에 여러 개의 파일을 지정할 수 있습니다.

<context-param> 
<param-name>contextConfigLocation</param-name> 
<param-value>/WEB-INF/appcontext.xml, hibernateconfig.xml</param-value> 
</context-param> 

우리는 또한뿐만 아니라 appcontext.xml 파일에서 설정 파일을로드 할 수 있습니다

appcontext.xml: 

<import resource="hibernateconfig.xml"/> 

무슨 차이가 또는이 두 가지가 완전히 다르다을?

감사합니다.

답변

1

유연성을 제공합니다.

여러 개의 스프링 구성 파일을 사용해야하는 경우 어떻게해야합니까? 당신이 그들 중 하나에 import 요소를 추가 할 수 없을 것입니다 때문에 당신의 web.xml에

  1. , 당신은 첫 번째 예에서와 같이, 두 파일을 지정할 수 있습니다.
  2. 두 파일 모두 import 인 새 파일을 만들 수 있습니다.

유연성은 스프링이 노력한 것이므로 둘 중 하나가 작동합니다. import element, contextConfigLocation

그들은 모두 정확히 같은 일을 위해 사용되지만,는 contextConfigLocation가 어디 가져 오기 요소를 개미 스타일의 패턴 매칭을 지원하는 것 같다

참고로

, 여기에 각 부분에 대한 몇 가지 문서입니다 그렇지 않을 수도 있습니다.

+0

그래서 다른 점은 무엇입니까? –

+0

나는 조금 더 많은 정보를 추가했다. 기능에는 차이가 있지만 기능면에서 차이가 있습니다. –

2

우리가 이전 프로젝트에서 발견 한 중요한 차이점은 컨텍스트 파일이 서로 종속되어 있으면 문제가 발생할 수 있다는 것입니다. appcontext.xml 파일에서 일부 DAO 클래스에 대한 bean 정의를 임포트한다고 가정 해 봅시다. 이것은 hibernateconfig.xml에 의존합니다. 그런 다음 DAO 콩이 (hibernateconfig에서) SessionFactory를 밖으로로드 될 web.xml에이

<param-value>/WEB-INF/appcontext.xml, hibernateconfig.xml</param-value> 

같은 항목을 줄 경우에 주입. 이것은 때때로 HibernateExceptions을 일으킬 수 있습니다.

appcontext.xml: 

<import resource="hibernateconfig.xml"/> 
<import resource="dao-config.xml"/> 

이 그 최대 절전 모드 구성이 DAO를 구성하기 전에로드되어 있는지 확인합니다 :이 경우 당신이 할 수있는 일은 다음과 같이 DAO를 컨텍스트 가져 오기 전에 appContext.xml에서 hibernateconfig.xml를 가져올 것입니다.

+0

완벽한 사용 사례! –

+0

예. 고맙습니다 :) –