.yml文件
cassandra:
keyspaceApp:junit
solr:
keyspaceApp:xyz
豆子
@Component
@ConfigurationProperties(prefix="cassandra")
public class CassandraClientNew {
@Value("${keyspaceApp:@null}") private String keyspaceApp;
Main方法文件
@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);
}
}
TestCase
@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。
看起来prefix=“卡桑德拉”不工作了
发布于 2014-12-11 14:59:53
我不知道"xyz“是从哪里来的(也许你没有展示你的整个application.yml?)。不过,在@ConfigurationProperties
中通常不绑定@Value
(它无法知道您的前缀是什么)。你真的在@EnableCongigurationProperties
anywhere吗?您是否正在使用SpringApplication
创建应用程序上下文?
https://stackoverflow.com/questions/27416327
复制相似问题