2012-01-26 2 views
0

저는 스프링 프레임 워크에 새로운 것이 있습니다. 나는 문제가있어 어디서부터 시작해야할지 모르겠다. 나는 내가하고 싶은 것을 보여 줄 것이다. 나는 그 패키지스프링 패키지 스왑

com.version.v1 
com.version.v1_3 
com.version.v2 
com.restofapplication... 

패키지가 약간 변경 한 모듈의 사본입니다 모든 버전이 있다고 가정 . Spring을 어떤 식 으로든 구성 할 수 있습니까? 예를 들어 v1_3을 사용하기 위해 applicationContext.xml에서 말하면 나머지는 수행합니까? (v1_3 패키지를 사용하여 응용 프로그램을 컴파일하십시오)?

그리고 더 질문하지만, 패키지 상태는 첫째 : 는 V1은 기본 버전과

SomeInterface.java 
SomeInterfaceImpl.java 
SomeDependentClass.java 

포함하고 v1_3의 모습을 말할 수 있습니다 :

SomeInterfaceImpl.java 
SomeDependentClass.java 

그래서 그것을 첫 번째 질문을합니다 응답 후 전체 패키지 복사를 피하고 스프링이 요청한 버전의 파일 만 변경하고 더 낮은 버전의 누락 된 파일을 검사하도록 할 수 있습니까?

대답 할 수 있습니까? 몇 가지 단서를 줘? 방향 지시? 어쨌든 그것을 읽어 주셔서 감사합니다. .

확인을 클릭하면 자세한 정보를 얻을 수 있습니다. GIT와 같은 도구를 사용해야한다는 것을 알고 있지만 내 의도는 다릅니다. 힘내는 코드 버전입니다.

여기 내가 여러분에게 묻습니다.

나는 하나의 종단점을 가진 웹 서비스를 가지고 있으며,이 종단점은 v1 패키지에서 생성된다. 그래서 v1을 복사하고 modyfing하여 v2 패키지를 만들려면이 끝점을 수정해야한다고 가정합니다. 하지만 두 버전을 모두 실행하거나 동시에 실행할 준비가 필요하므로 일반적인 GIT 사용법이 아닙니다.

내가 처음 질문 한 내용은 다음과 같습니다. 컴파일 프로세스 중에 버전이 활성화 될 수 있습니까? 이제 이것이 Spring보다는 Maven 작업이라는 것을 이해합니다. 그러나 가능합니까?

두 번째 질문입니다. 나는베이스 V1을 수정하여 V2를 만들었다 고 말했다. 그러나 하나의 파일 만 수정되었다고 말할 수 있습니다. 그래서 하나의 파일 만 V2에 복사하고 Spring/maven에게 V1에서 누락 된 파일을 수집하도록 알려주는 방법이 있습니까?

+0

누군가가 당신에게 이것이 봄이 무엇인지에 대한 인상을 주었습니까? 이상한 요청처럼 보입니다. – skaffman

답변

0

이것은 봄에 대한 일이 아닙니다. CVS, SVN, Git 또는 다른 것과 같은 SCM 시스템을 사용해야합니다. 다음은 프로젝트의 다른 버전이 있어야합니다 경우 전체 목록 http://en.wikipedia.org/wiki/List_of_revision_control_software

이다는 내가 (Ant 또는 Maven으로 구축 할 수 있습니다. 예 용) 스마트 빌드 시스템을 제안하지만,이 훨씬 더 비싼 솔루션이 될 것입니다.

0

각 가능한 유스 케이스에 대한 컨텍스트를 만들고 필요에 따라 루트 컨텍스트로 가져올 수 있지만 모든 패키지를 제공해야합니다.이

<import resource="services.xml"/> 
<import resource="resources/messageSource.xml"/> 
<import resource="/resources/themeSource.xml"/> 

<bean id="bean1" class="..."/> 
<bean id="bean2" class="..."/> 

그러나 배달을 차별화하기 위해 같은 서로 다른 세 가지 빌드을해야 할 것이고, 위에서 언급 한 것처럼 (사용 여부) 모든 구성 도구를 사용합니다.

0

아마도이 경우 SCM을 사용해야합니다.

코드를 통해 Spring 3.1에서 컨텍스트 구성 요소 검사를 설정할 수 있습니다. 위 규칙에 대한 필터를 구현하는 것은 당신에게 달려 있습니다. 당신이 일을 ComponentScan를 얻을 수없는 경우

는 또한 AnnotationConfigWebApplicationContext 볼을 확장하고, 레지스터에 전화하여 생성자에서 스캔하기를 원할 것입니다, ComponentScan http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/context/annotation/ComponentScan.html

에 대한 자바 문서를 참조하십시오. 이와 같이 :

public class CustomContext extends AnnotationConfigWebApplicationContext { 
    public CustomContext() { 
     super(); 
     this.scan("com.version.v2"); 
     this.register(com.version.v1.SomeInterface.class); 
    } 
}