我做类似事情的方式是:
@Configuration
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
@Profile ("client_app_profile_name")
public class ClientAppConfiguration {
//it can be left blank
}
为服务器应用程序编写类似的内容(不排除)。
最后一步是从主spring引导类禁用Auto Configuration:
@SpringBootApplication
public class SomeApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SomeApplication.class);
}
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SomeApplication.class);
}
}
更改@SpringBootApplication
为:
@Configuration
@ComponentScan
这应该做的工作。现在,我在示例中排除的依赖项可能不完整。它们对我来说足够了,但是我不确定是否完全禁用数据库相关的库。检查以下列表以确保:
http://docs.spring.io/spring-boot/docs/current- SNAPSHOT/reference/htmlsingle/#auto-configuration- classes
希望能有所帮助