@ConfigurationProperties前缀不起作用一般答案
2022-09-01 00:26:33
						.yml 文件
cassandra:
    keyspaceApp:junit
solr:
    keyspaceApp:xyz
豆
@Component
@ConfigurationProperties(prefix="cassandra")
public class CassandraClientNew {
   @Value("${keyspaceApp:@null}") private String keyspaceApp;
主方法文件
@EnableAutoConfiguration
@ComponentScan
@PropertySource("application.yml")
public class CommonDataApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext context = new SpringApplicationBuilder(CommonDataApplication.class)
                .web(false).headless(true).main(CommonDataApplication.class).run(args);
    }
}
测试用例
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = CommonDataApplication.class)
@IntegrationTest
@EnableConfigurationProperties
public class CassandraClientTest {
    @Autowired
    CassandraClientNew cassandraClientNew;
    @Test
    public void test(){
        cassandraClientNew.getSession();
        System.out.println(" **** done ****");
    }
}
它不是将 junit 设置为 keyspaceApp,而是设置 xyz。
看起来像前缀=“cassandra”不起作用