我想知道,在Spring Boot中这些配置文件(test、dev、prod)是否已经被预定义了?如果是的话,我在哪里可以看到它们的确切设置?文档对此没有说明。
我认为它们是预定义的原因是当我在application.properties中设置我的配置文件时出现了奇怪的行为:
spring.profiles.active=test, h2
spring.jpa.hibernate.ddl-auto = none
#LOGGING
logging.level.root=ERROR
logging.level.org.springframework.jdbc.datasource=DEBUG
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
spring.jpa.properties.hibernate.show_sql=false
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.generate_statistics=true
logging.level.org.hibernate=INFO
logging.level.org.hibernate.stat=DEBUG
application-h2.properties:
spring.datasource.url=jdbc:h2:mem:myProject;DB_CLOSE_DELAY=-1
spring.datasource.username=rat
spring.datasource.password=8965yUe4
spring.datasource.driver-class-name=org.h2.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.datasource.initialization-mode=embedded
这一切都很好地运作,正如我所期望的那样。但是当我从这行代码中删除了“test”后,就不会再记录日志了。
这个变体也能正常工作:spring.profiles.active=h2
为什么呢?“test”和“dev”配置文件肯定不属于我。谢谢。spring.profiles.active=dev, h2
编辑:
我正在进行以下测试:
@RunWith(SpringRunner.class)
@DataJpaTest
@AutoConfigureTestDatabase(replace= AutoConfigureTestDatabase.Replace.NONE)
public class UserRepositoryTest {
@Autowired
private Environment environment;
@Autowired
private UserRepository userRepository;
@Test
public void findAllTest() throws Exception {
final String[] activeProfiles = environment.getActiveProfiles();
System.out.println("Profiles of mine ::");
for (String activeProfile : activeProfiles) {
System.out.println(activeProfile);
}
Assert.assertTrue(!userRepository.findAll().isEmpty());
System.out.println(userRepository.findById(1L));
}
}
test
配置文件进行讨论,这样当提供application-test.properties
时,它将自动加载,无需为每个测试手动启用测试配置文件。 - M. DeinumConfig Server
中的native
。引用: 2.1.3 文件系统后端 在 Config Server 中还有一个“本地”配置文件, 它不使用 Git, 而是从本地类路径或文件系统加载配置文件 (您想要指向的任何静态 URL 都可以使用spring.cloud.config.server.native.searchLocations
)。 要使用本地配置文件,请使用spring.profiles.active=native
启动 Config Server。 https://cloud.spring.io/spring-cloud-config/multi/multi__spring_cloud_config_server.html - Nor.Z