Springboot使用Jpa报错找不到bean的问题

Springboot使用Jpa报错找不到bean的问题,第1张

最近搭了个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实例化失败,求解!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9430252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存