springboot 循环引用问题


APPLICATION FAILED TO START


Description:

The dependencies of some of the beans in the application context form a cycle:


sqlSessionFactory defined in class path resource [com/suike/config/database/MyBatisConfig.class]
┌─────┐
| dataSource defined in class path resource [com/suike/config/database/MyBatisConfig.class]
↑ ↓
| dataSourceDev defined in class path resource [com/suike/config/database/dataSource/DruidDBConfigDev.class]
↑ ↓
| dataSourceInitializer
└─────┘

解决办法

然后抛出一堆的:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSourceDev’ defined in class path resource [xxx类]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSourceInitializer’: Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name ‘dataSource’: Requested bean is currently in creation: Is there an unresolvable circular reference?

保持原来的配置,在Spring boot启动的时候排除DataSourceAutoConfiguration,并另外导入MyBatisConfig 加上@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

@Import({MyBatisConfig.class})
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class App extends SpringBootServletInitializer {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }

}

猜你喜欢

转载自blog.csdn.net/liufeifeihuawei/article/details/112661245
今日推荐