0

SpringApplication.run()에서 2 개의 소스를 사용할 수있는 방법이 있습니까? 여기 내 수업이 있습니다. 지금까지 내가 시도한 것을 분명히 이해할 수 있습니다. 주소가 이미 사용 중이므로 Spring Social : SpringApplication.run (sources, args)에서 2 개의 소스를 실행해야한다.

@Configuration 
@EnableAutoConfiguration 
@ComponentScan 
public class Application { 

    /* 
    * SPRING BOOTSTRAP MAIN 
    */ 
    public static void main(String[] args) { 
//  SpringApplication.run(com.twitter.Application.class, args); 
//  SpringApplication.run(com.linkedin.Application.class, args); 
     Object[] sources = new Object[2]; 
     sources[0] = com.twitter.Application.class; 
     sources[1] = com.linkedin.Application.class; 
     SpringApplication.run(sources, args); 
    } 

} 

내가 실행하는 경우

..

SpringApplication.run(com.twitter.Application.class, args); 
SpringApplication.run(com.linkedin.Application.class, args); 

com.linkedin.Application.class에 오류가 있습니다. 내가 실행하는 경우

.. 링크드 인이 잘 작동

sources[0] = com.twitter.Application.class; 
sources[1] = com.linkedin.Application.class; 
SpringApplication.run(sources, args); 

는, 트위터는 없습니다. '/ twitter'매핑 (TwitterController에 대해 제공 한)은 흰색 레이블을 제공합니다.

+0

소스는 '@ Configuration' 클래스 이상입니다. 왜 응용 프로그램에 포인트를 입력해야합니까 (예 : 기본 메소드)? 단일 애플리케이션에서 트위터와 Facebook을 구성하면됩니다. –

+0

이상한 행동입니다. 두 번째 방법은 완벽하게 잘 보입니다. 트위터와 관련된 소스 만 있으면'/ twitter' 매핑이 깨끗하게 작동합니까? –

답변

0

표면적으로 이것은 봄 부팅 관련 질문입니다 (실제로는 그렇습니다).하지만 내게는 응용 프로그램이 Twitter와 LinkedIn을 모두 지원하기를 원합니다. 권리?

SpringApplication.run()에 전달할 것은 모두 구성 클래스 세트입니다. 일반적으로 하나의 구성 만 전달하고 구성 요소 검색은 다른 @Configuration 클래스를 자동으로 찾습니다. 그리고 필수는 아니지만 일반적으로 main() 메서드가있는 구성 클래스를 전달합니다.

메인 메소드가있는 Application 클래스와 두 개의 Application 클래스가있는 이유는 무엇입니까? (소스를 공유하지는 않았지만, 기본적으로 서로 LinkedIn 및 Twitter와 중복되어 있다고 생각합니다.) 이 경우, 스프링 소셜을 구성하는 구성 클래스가 @Configuration (구성 요소 검색이 가져올 수 있음을 의미)으로 주석을 달고 원하는 이름을 지정할 수 있습니다. SpringApplication.run()에 전달할 필요없이 Spring Application.run()으로 전달하면된다.

내가 어떻게하는지에 대한 예제는 https://github.com/spring-projects/spring-social-samples/blob/master/spring-social-showcase-boot/src/main/java/org/springframework/social/showcase/config/Application.java을 보라. Boot-enabled Spring Social Showcase가 있습니다. va는 자체를 SpringApplication.run()으로 전달합니다. 또한 구성 요소 검색을 가능하게하므로 다른 구성 클래스도 검색되고 사용됩니다.

물론 내가하는 일에 대해 오해했을 수도 있습니다. 그렇다면 달성하려는 목표를 다시 말해주십시오. 도와 드리겠습니다.