繁体   English   中英

结合2个Spring启动应用程序

[英]Combine 2 Spring boot application

刚刚关注Spring Guides http://spring.io/guides#gs我接受了gs-rest-servicegs-accessing-data-jpa 现在我想将它们组合在一个应用程序中,这就像需要更多地了解新的org.springframework.boot.SpringApplication

gs-rest-service配置看起来是电子邮件,几乎不存在

@ComponentScan
@EnableAutoConfiguration
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

gs-accessing-data-jpa更像是基于Spring XML JavaConfig的应用程序。

@Configuration
@EnableJpaRepositories
public class CopyOfApplication {

    @Bean
    public DataSource dataSource() {
        return new EmbeddedDatabaseBuilder().setType(H2).build();
    }

   // 2 other beans...

    @Bean
    public PlatformTransactionManager transactionManager() {
        return new JpaTransactionManager();
    }


    public static void main(String[] args) {
        AbstractApplicationContext context = new AnnotationConfigApplicationContext(CopyOfApplication.class);
        CustomerRepository repository = context.getBean(CustomerRepository.class);

        //...
    }

}

如何结合它们?

这是否意味着我需要在更详细的级别上重写SpringApplication.run

在Spring Boot应用程序中,只需添加JPA示例中的依赖项(您尚未拥有的依赖项)。

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web:0.5.0.M7")
    compile("org.springframework:spring-orm:4.0.0.RC1")
    compile("org.springframework.data:spring-data-jpa:1.4.1.RELEASE")
    compile("org.hibernate:hibernate-entitymanager:4.2.1.Final")
    compile("com.h2database:h2:1.3.172")
    testCompile("junit:junit:4.11")
}

或者代之以你也可以使用Spring Data JPA的spring boot starter项目 在这种情况下,依赖关系将如下所示。

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web:0.5.0.M7")
    compile("org.springframework.boot:spring-boot-starter-data-jpa:0.5.0.M7")
    compile("com.h2database:h2:1.3.172")
    testCompile("junit:junit:4.11")
}

这将引入所有需要的依赖项。

接下来将CustomerRepository复制到Spring Boot应用程序。 这基本上应该是你需要的一切。 Spring Boot自动配置现在可以检测Spring Data JPA和JPA,并将为你启动hibernate,spring数据。

@ComponentScan
@EnableAutoConfiguration
public class Application {

    public static void main(String[] args) {
        ApplicationContext context= SpringApplication.run(Application.class, args);
        CustomerRepository repository = context.getBean(CustomerRepository.class);
        //...
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM