【问题标题】:How to Load Custom Spring Configuration Before CassandraDataAutoConfiguration如何在 CassandraDataAutoConfiguration 之前加载自定义 Spring 配置
【发布时间】:2018-06-12 20:56:46
【问题描述】:

我正在运行一个使用 Spring Data 连接到 Cassandra 数据库的 Spring Boot 应用程序。 Spring Data 连接依赖于自定义配置类生成的用户名和密码,但应用程序无法启动,因为它在访问自定义配置类之前加载了CassandraDataAutoConfiguration,导致应用程序失败并出现身份验证错误.我需要确保在CassandraDataAutoConfiguration 之前加载此自定义配置类。

我已尝试将 @AutoConfigureBefore({CassandraDataAutoConfiguration.class}) 添加到自定义配置类,但仍然遇到同样的问题。

【问题讨论】:

    标签: java spring-boot spring-data


    【解决方案1】:

    如果要配置spring实例化bean的顺序可以使用:

    @DependsOn("A") 
     public class B {
     ...    
    }
    

    这将创建 bean“A”,而不是“B”。

    Reference

    【讨论】:

    • 在这种情况下,我希望我的自定义配置在 Spring boot 提供的 CassandraDataAutoConfiguration 之前加载,因此我无法将“DependsOn”添加到此类。有什么办法可以反过来做吗?
    • 啊,那你可以使用@Primary注解给你的bean一个优先级。你也可以使用@Order(link) 来定义你的bean的创建顺序。
    • 我无法将“DependsOn”直接放在我的配置类中,但我把它放在了 CrudRepository 注入的服务类中,这解决了问题,因为它确保了我的自定义配置类在 Repository 类之前加载。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 2015-01-26
    相关资源
    最近更新 更多