import liquibase.integration.spring.SpringLiquibase;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import javax.sql.DataSource;
 
@Configuration
public class DatabaseConfiguration {
 
    @Autowired private Environment env;
    @Autowired private DataSource dataSource;
 
    @Bean
    public SpringLiquibase liquibase() {
        SpringLiquibase liquibase = new SpringLiquibase();
        liquibase.setDataSource(dataSource);
        liquibase.setChangeLog("classpath:db/changelog/db.changelog-master.yaml");
        liquibase.setContexts(env.getProperty("liquibase.contexts"));
        liquibase.setDefaultSchema(env.getProperty("liquibase.schema"));
        return liquibase;
    }
}这段代码定义了一个配置类,它使用Spring的@Configuration注解来标识它为配置类。它使用@Bean注解来声明一个SpringLiquibase bean,该bean用于管理数据库迁移。代码中使用了@Autowired来自动装配Environment和DataSource,这样可以让Liquibase使用Spring Boot配置文件中的属性。