我正在尝试对我的spring boot应用程序运行selenium测试。我想用我的应用程序的属性启动应用程序。yml和应用测试。yml定义。然而,默认情况下,这不会发生。
我试着按照Dave Syer的建议去做,并实现了一个Application ationContext初始器,它使用YamlProperty tySourceLoader读取application.yml和application-test.yml文件。
这似乎没有任何效果——在我的应用程序测试中将服务器端口设置为9000没有任何效果。
下面是我的测试基类代码:
@ContextConfiguration(classes = {TestConfiguration.class}, initializers = {TestApplicationYamlLoaderApplicationContextInitializer.class})
@SharedDriver(type = SharedDriver.SharedType.ONCE)
@ActiveProfiles({"test"})
public abstract class IntegrationBase extends AbstractTestNGSpringContextTests {
....
}
下面是我的ApplicationContextInitializer的代码:
public class TestApplicationYamlLoaderApplicationContextInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
ConfigurableEnvironment env = applicationContext.getEnvironment();
YamlPropertySourceLoader loader = YamlPropertySourceLoader.matchAllLoader();
PropertySource applicationYamlPropertySource = loader.load("application.yml", new FileSystemResource("src/main/resources/application.yml"));
PropertySource testProfileYamlPropertySource = loader.load("application.yml", new FileSystemResource("src/main/resources/application-test.yml"));
env.getPropertySources().addFirst(applicationYamlPropertySource);
env.getPropertySources().addFirst(testProfileYamlPropertySource);
System.out.println("woohoo!");
}
}
以及应用测试。yml
server:
port: 9000
在您的主配置类中使用@SpringBootApplication,然后Spring Boot将自动加载application.yml。如果您想加载applicaton-test.yml,只需设置当前配置文件进行测试。这是一个示例:
@SpringBootApplication
public class Main {
@Bean
public static PropertySourcesPlaceholderConfigurer placeholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
public static void main(String[] args) {
System.setProperty("spring.profiles.active", "test");
SpringApplication.run(Main.class, args);
}
}
您可能没有main方法,只需将配置文件设置在任何适当的位置,即JVM启动参数。
裁判http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
Spring Boot允许您将配置外部化,以便在不同的环境中使用相同的应用程序代码。您可以使用属性文件、YAML文件、环境变量和命令行参数来外部化配置。属性值可以使用@Value注释直接注入bean,通过Spring的环境抽象访问,或者通过@ConfigurationProperties绑定到结构化对象。
Spring Boot使用一个非常特殊的PropertySource顺序,该顺序旨在允许合理地重写值。属性按以下顺序考虑:
@ContextConfiguration
不知道Spring启动初始值设定项。您是否尝试了@SpringApplicationConfiguration
?(这样就不需要自定义初始值设定项了。)
我有一个spring boot kafka客户端应用程序,其中有两个消费者在kafka中收听不同的主题和不同的消费者群。 为了实现,我需要下面有两个JAAS会议(使用不同的keytab文件) dc-jaas-A.conf文件 dc-jaas-B.conf 由于下面的connect tFactory在System.setProperty中设置dc-jaas-A.conf和dc-jaas-B.conf
我已经阅读了stackoverflow中的相关问题。然而,答案只告诉如何配置身份验证检查。我需要在spring boot中用rsocket加密所有传输的数据。如何在带有SSL/tls的spring boot中使用tls。在如下所示初始化rsocket客户端时,我找不到任何受支持的方法,尽管我知道rsocket-it本身可以支持SSL/TLS。我发现了一些例子:
我目前正在学习如何使用Spring Boot。到目前为止,我从未使用过像Spring这样的框架,而是直接使用文件(FileInputStream等) 我还发现了doc:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html,但我现在知道如何将它应用到我的项目中
我有一个支持霸气2的要求 我已经使用docket对象创建了swagger 2 如何仅禁用/启用摇摆 3 或摇摆 2?我的意思是如何禁用 swagger 3 配置? 我没有使用启用/禁用swagger 3配置类。只需添加maven依赖项swagger 3就可以了。
我想用spring boot开发web应用程序,我想在jsp文件中处理javascript和css资源。我在dispatcher servlet中从jsp配置对此文件的访问权限。xml如下所示: 在我的jsp文件中,我可以使用下面的代码来访问它: 我如何做配置mvc:资源映射在Spring启动?