最近搭了个Springboot,连自己的mysql好不容易连上了,发现一直报这个错误:
原因很简单:
在Application类加上Jpa扫描目录EnableJpaRepositories和映射的类目录EntityScan即可:
这里先记录下,或许有更优雅的解决办法
( >
[orguscservicesstudentimplStudentServiceBean]: Constructor threw exception
很像是
StudentServiceBean中的构造方法和配置文件中的不一致
总共有6种方法可以实现:
方法一:在初始化时保存ApplicationContext对象
方法二:通过Spring提供的utils类获取ApplicationContext对象
方法三:继承自抽象类ApplicationObjectSupport
方法四:继承自抽象类WebApplicationObjectSupport
方法五:通过Spring提供的ContextLoader
获取spring中bean的方式总结:
方法一:在初始化时保存ApplicationContext对象
ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContextxml"); acgetBean("userService");//比如:<bean id="userService" class="comcloudserviceimplUserServiceImpl"></bean>
说明:这样的方式适用于采用Spring框架的独立应用程序,须要程序通过配置文件手工初始化Spring的情况。
方法二:通过Spring提供的工具类获取ApplicationContext对象
ApplicationContext ac1 = WebApplicationContextUtilsgetRequiredWebApplicationContext(ServletContext sc); ApplicationContext ac2 = WebApplicationContextUtilsgetWebApplicationContext(ServletContext sc); ac1getBean("beanId"); ac2getBean("beanId");
说明:这样的方式适合于采用Spring框架的B/S系统,通过ServletContext对象获取ApplicationContext对象。然后在通过它获取须要的类实例。上面两个工具方式的差别是,前者在获取失败时抛出异常。后者返回null。
方法三:继承自抽象类ApplicationObjectSupport
说明:抽象类ApplicationObjectSupport提供getApplicationContext()方法。能够方便的获取ApplicationContext。
Spring初始化时。会通过该抽象类的setApplicationContext(ApplicationContext context)方法将ApplicationContext 对象注入。
方法四:继承自抽象类WebApplicationObjectSupport
说明:类似上面方法。调用getWebApplicationContext()获取WebApplicationContext
方法五:通过Spring提供的ContextLoader
WebApplicationContext wac = ContextLoadergetCurrentWebApplicationContext();wacgetBean(beanID);
以上就是关于Springboot使用Jpa报错找不到bean的问题全部的内容,包括:Springboot使用Jpa报错找不到bean的问题、spring bean重复定义不报错以及注入失败分析、bean实例化失败,求解!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)