zoukankan      html  css  js  c++  java
  • SpringBoot 启动的时候提示 Field *** in *** required a bean named 'entityManagerFactory' that could not be found.

     错误截图

    后面发现原来和入口类代码有关。

    //@SpringBootApplication(scanBasePackages = {"org.jzc.odata.cboard","org.jzc.odata.cboard.odataservice","com.sdl.odata.api.service","com.sdl.odata.api.service.ODataService"})
    @EnableAutoConfiguration(exclude = {HibernateJpaAutoConfiguration.class
            , DataSourceAutoConfiguration.class,
            DataSourceTransactionManagerAutoConfiguration.class })
    @Configuration
    @Import({
            ODataDataSourceConfiguration.class,
            ODataServiceConfiguration.class
    })
    @ComponentScan
    @RestController
    @ComponentScan(basePackages = {"org.jzc.odata.cboard","org.jzc.odata.cboard.odataservice","com.sdl.odata.api.service","com.sdl.odata.api.service.ODataService"})
    public class ServiceContainer {

    其中

    @EnableAutoConfiguration(exclude = {HibernateJpaAutoConfiguration.class
            , DataSourceAutoConfiguration.class,
            DataSourceTransactionManagerAutoConfiguration.class })

    这段的解释如下,

    参考

    https://stackoverflow.com/questions/45350546/entitymanagerfactory-not-found-in-springboot

    也就是说,不去掉@EnableAutoConfiguration 和里面exclude 包含对EntityManagerFactory 的注释的话,EntityManagerFactory是不会被实例化的,这样肯定就不能发现entityManagerFactory的Bean了。

    那么解决方案就是把这段注释掉,重新编译打包

    //@SpringBootApplication(scanBasePackages = {"org.jzc.odata.cboard","org.jzc.odata.cboard.odataservice","com.sdl.odata.api.service","com.sdl.odata.api.service.ODataService"})
    //@EnableAutoConfiguration(exclude = {HibernateJpaAutoConfiguration.class
    //        , DataSourceAutoConfiguration.class,
    //        DataSourceTransactionManagerAutoConfiguration.class })
    @Configuration
    @Import({
            ODataDataSourceConfiguration.class,
            ODataServiceConfiguration.class
    })
    @ComponentScan
    @RestController
    @ComponentScan(basePackages = {"org.jzc.odata.cboard","org.jzc.odata.cboard.odataservice","com.sdl.odata.api.service","com.sdl.odata.api.service.ODataService"})
    public class ServiceContainer {

    再运行,成功了!

  • 相关阅读:
    .netcore初体验
    ASP.NET MVC实现单用户登录
    远程连接桌面报:这可能是由于credssp加密oracle修正
    想起以前写的一个爬虫,然后就用C#WinForm写了一个下载小说的软件,比较简单
    List泛型与DataTable相互转换
    SqlServer-触发器
    SqlServer-RBAC五表权限
    SqlServer通用存储过程
    用vs2017结果无法启动IIS express
    简单的叙述下SQL中行列转换的小知识!
  • 原文地址:https://www.cnblogs.com/Bruce_H21/p/9910190.html
Copyright © 2011-2022 走看看