在Spring Boot的application.yml中配置Cassandra,可以按照以下步骤进行:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-cassandra</artifactId>
</dependency>
spring:
data:
cassandra:
contact-points: localhost
port: 9042
keyspace-name: mykeyspace
username: myusername
password: mypassword
其中,contact-points
指定Cassandra的主机地址,port
指定Cassandra的端口号,keyspace-name
指定要使用的keyspace名称,username
和password
是可选的,用于连接到Cassandra的身份验证。
CassandraTemplate
或CassandraOperations
来执行CQL语句。可以通过创建一个CassandraSessionFactoryBean
来配置Cassandra会话,示例如下:@Configuration
public class CassandraConfig extends AbstractCassandraConfiguration {
@Value("${spring.data.cassandra.contact-points}")
private String contactPoints;
@Value("${spring.data.cassandra.port}")
private int port;
@Value("${spring.data.cassandra.keyspace-name}")
private String keyspaceName;
@Value("${spring.data.cassandra.username}")
private String username;
@Value("${spring.data.cassandra.password}")
private String password;
@Override
protected String getKeyspaceName() {
return keyspaceName;
}
@Override
protected String getContactPoints() {
return contactPoints;
}
@Override
protected int getPort() {
return port;
}
@Override
protected String getLocalDataCenter() {
return null;
}
@Override
protected AuthProvider getAuthProvider() {
return new PlainTextAuthProvider(username, password);
}
}
在上述配置中,通过@Value
注解将配置文件中的属性值注入到对应的变量中,然后在相应的方法中返回这些值。
CassandraTemplate
或CassandraOperations
,然后使用它们执行CQL语句。示例如下:@Repository
public class MyRepository {
private final CassandraTemplate cassandraTemplate;
public MyRepository(CassandraTemplate cassandraTemplate) {
this.cassandraTemplate = cassandraTemplate;
}
public void save(MyEntity entity) {
cassandraTemplate.insert(entity);
}
public List<MyEntity> findAll() {
return cassandraTemplate.select("SELECT * FROM mytable", MyEntity.class);
}
}
在上述示例中,通过构造函数注入CassandraTemplate
,然后可以使用它执行CQL语句。
以上是在Spring Boot的application.yml中配置Cassandra的步骤。在实际应用中,可以根据具体需求进行进一步的配置和使用。
领取专属 10元无门槛券
手把手带您无忧上云