为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot:考虑在您的配置中定义一个名为“entityManagerFactory”

Spring Boot:考虑在您的配置中定义一个名为“entityManagerFactory”

宝慕林4294392 2021-11-11 16:50:16
我在尝试启动 Spring Boot 应用程序时收到以下错误:注意:此错误只有当我把发生@Autowired批注过IDeviceRepository iDeviceRepository;的DeviceDao.java类我还没有得到DeviceDao.java持久化到数据库 - 但正在创建实体> *************************** > APPLICATION FAILED TO START> ***************************> > Description: > Field iDeviceRepository in com.abc.dao.DeviceDao required a bean named 'entityManagerFactory' that could not be found. > Action:> Consider defining a bean named 'entityManagerFactory' in your configuration.这是项目的目录结构:├───src│   ├───main│   │   ├───java│   │   │   └───com│   │   │       └───abc│   │   │           ├───controller│   │   │           ├───dao│   │   │           │   └───repositories│   │   │           ├───init│   │   │           ├───model│   │   │           ├───service│   │   │           └───util│   │   │               ├───common│   │   │               ├───enums│   │   │               ├───exceptions│   │   │               └───interfaces│   │   └───resources│   │       ├───static│   │       │   ├───css│   │       │   ├───fonts│   │       │   ├───img│   │       │   └───js│   │       └───templatescom.abc.init.Application.javapackage com.abc.init;@SpringBootApplication@EnableJpaRepositories("com.abc.dao.repositories")@EntityScan(basePackages = { "com.abc.model" })@ComponentScan(basePackages={ "com.abc.controller", "com.abc.service", "com.abc.dao" })public class Application{    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}
查看完整描述

2 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

在 spring-boot 中,您不需要使用存储库注释来注释存储库类。


@Repository

您只需要在您的界面上扩展 JPARepository,Spring-boot 将负责其余的工作。例如:


public interface YourRepository extends JpaRepository<YourDomain, Serializable> {


    YourDomain findBysomeparameter(Long parameter);


}

而且您不需要添加这些注释:


@EnableJpaRepositories

@EntityScan

@ComponentScan

除非您进行一些配置,否则 Spring-boot 会自动执行此操作。


我希望这将有所帮助。


查看完整回答
反对 回复 2021-11-11
?
墨色风雨

TA贡献1853条经验 获得超6个赞

几个月前,当我开始学习 Spring-Boot 时,我遇到了类似的问题。我不确定 Spring 是否认真对待目录结构。我的目录结构与@Pawan 相似。您所要做的就是将您的存储库文件夹向上移动一级,即将其移动到父abc文件夹中。使用@Service 注释您的 DeviceDao 类。最后更新@EnableJpaRepository 中的存储库路径。这对我有用。希望这有帮助。


查看完整回答
反对 回复 2021-11-11
  • 2 回答
  • 0 关注
  • 173 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信