当前位置: 首页 > 知识库问答 >
问题:

引用bean'EntityManagerFactory'没有找到和nullPointerExctive springboomysql

卢光誉
2023-03-14

我试图从mysql数据库中获取数据,我使用从CrudRepository扩展而来的标签@repository接口,但当我尝试调用任何方法时,它会说nullPointerExctive,如Count()或findAll()。

此外,我还有一条警告:未找到引用bean“entityManagerFactory”

我已经试着删除了。m2文件夹,在我调用存储库接口的类上添加@Service标记。

我已经提出申请了。属性文件,并在应用程序类上添加了此标记,该应用程序类具有项目的main=@ComponentScan、@ServletComponentScan、@SpringBootApplication


> Main class

@ComponentScan
@ServletComponentScan
@SpringBootApplication
public class EngineApplication (){

> Blockquote

//Class that uses the repository interface#

@Service
public class EngineServiceBean {

    @Autowired
    private ServiceRepository serviceRepository;

> Blockquote

//Use of the repository in engineServiceBean

serviceRepository.count();

> Blockquote

//serviceRepository

@Repository
@Transactional
public interface ServiceRepository extends CrudRepository<Wsg_service, Integer>{

}


> Blockquote

//Entity

@Entity
public class Wsg_service {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

> Blockquote

//Application.properties

spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
spring.jpa.show-sql=TRUE
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=myusername
spring.datasource.password=mypassword

未找到警告实体管理器工厂

我认为问题是在自动配发标签和Spring启动没有找到正确的组件来处理我需要的操作,但由于我使用所有这些标签,我真的不知道还能做什么。

共有1个答案

白嘉石
2023-03-14

如果您还没有运行应用程序,请尝试:

spring.datasource.url=jdbc:mysql://localhost:3306/myDatabase?useSSL=false
spring.datasource.username = test2
spring.datasource.password = test123

## Hibernate Properties
# The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect

spring.jackson.serialization.fail-on-empty-beans=false

# Hibernate ddl auto (create, create-drop, validate, update)
spring.jpa.hibernate.ddl-auto = create

如果您必须更改为:

spring.jpa.hibernate.ddl-auto = update

至于你的班级:

  • 只在你的主课中使用@SpringBootApplication
  • 无需在存储库中使用@Repository@Transactional

试试看,应该有用!

 类似资料:
  • 创建一个jest测试,如: 失败,原因是 但是,确实将 定义为节点 16,因此如下所示: 正确输出。 如何配置开玩笑以使此测试通过?显然,在开玩笑的测试运行器中发生了一些事情,无法在当前节点环境中执行,或者正在剥离特定的内置功能,只是我似乎找不到任何有关如何调试或调整的文档。 通过在“纯js”中手动编写编码或依赖于类似的东西,可以解决一些问题,但我特别感兴趣的是为什么jest执行结尾无法找到似乎存

  • 我正在使用kustomize在一个新的k8s集群(v1.17.2)上将清单传输到kubectl。这包括CRD,但其他对象无法找到它们。例如: CRD是在我的kubectl的部分中定义的,它们显示在我向kubectl传送的输出中,我确信上次将所有内容放在一个文件中的方法是有效的。 如果我先应用CRD,然后分别应用主清单,这一切都会顺利进行。我能同时做这些吗?如果是,我做错了什么;如果没有,为什么它以

  • 我正在使用安装在本地主机上的wordpress构建一个站点。 出于某种原因,我的post.php页面没有显示帖子缩略图(特色图片)。我已经确定,这是一个问题,timthumb.php这是不正确的定位图像网址。我在网上搜索了几个小时,尝试了许多解决方案,但似乎没有任何效果。 基本问题是我在blog.php文件中的这一行: My functions.php脚本将get_image_url定义如下: 在

  • 我正在尝试将ReactiveQuerydslPredicateExecitor与R2dbcRepository一起用于我的spring-data-r2dbc应用程序以及r2dbc-mssql客户端版本0.8.1。释放 我从2.2.7升级了spring boot版本。发布至2.3.0。版本和1.0.0的spring-data-r2dbc版本。发布至1.1.0。释放。我正在使用query dsl版本4

  • 问题内容: 我正在使用gradlew进行Java项目。我使用Ubuntu Linux作为操作系统。当我运行“ gradle”时,它将运行并提供信息。但是,当我运行“ gradlew”时,其输出为“未找到命令’gradlew’,您的意思是:软件包’gradle’(universe)gradlew中的命令’gradle’:未找到命令” 我做了研究,有了jdk,并且做了sudo apt-get inst