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

Spring Boot:最初是数据解析

昌琪
2023-03-14

我正在寻找一种方法,在spring boot应用程序启动时读取和解析大量数据,并能够在以后的其他类中使用这些数据。

我从一个类DataRepository.java开始,并用@service对它进行了注释,以便以后能够注入它。我计划读取这里的数据,并将其注入到任何其他需要数据的类中。

但如何才能实现只在应用程序启动时解析一次数据呢?spring boot应用程序应该只有在解析完成的情况下才可访问。

共有1个答案

邹昊
2023-03-14

您使用@service的方法是100%合适的。

默认情况下,所有bean都是单例,所以如果您在bean创建时解析数据(在构造函数中),它将只解析一次,并且通过简单的注入,可以在其他bean中使用此信息。

请注意,如果在数据解析过程中必须使用其他bean,您应该确信所有bean都是完全构造好的。为此,您应该使用@jreznot:https://stackoverflow.com/A/51783858/5289288建议的方法

 类似资料:
  • 本文向大家介绍SpringBoot使用flyway初始化数据库,包括了SpringBoot使用flyway初始化数据库的使用技巧和注意事项,需要的朋友参考一下 概述 Flyway这款数据库版本工具就算大家没有使用过但也略有耳闻了,SpringBoot对该款工具进行集成的框架可以让我们在启动SpringBoot应用时自动去找SQL版本文件进行比对执行,但在迁移或初始化时往往还是需要先手动进行下数据库

  • 本文向大家介绍datatables 初始化最小数据表:,包括了datatables 初始化最小数据表:的使用技巧和注意事项,需要的朋友参考一下 示例 以下代码会将ID为的表tableid转换为DataTable,并返回DataTables API实例: 将此代码与以下代码进行比较,该代码会将表转换为DataTable,但不会返回DataTables API实例: 有关使用DataTables AP

  • 我正在尝试从mysql数据库中检索今天的记录。 和控制器代码: 我希望通过使用findByDate(...)获得今天的记录方法,但似乎不起作用。在查看MysqlWorkbench的数据时,我还注意到一个小问题:日期似乎提前了2小时(例如:现在是11:57,但在mysql workbench软件中显示的是9:57,当我查询服务器时间时,显示的是不正确的tme……)我其实不关心小时/分钟/秒,我只想检

  • 我在运行我的spring boot项目时遇到了一个问题: 我使用Vaadin来实现UI,使用Maven来实现Dependecies。该数据库是一个MySQL数据库,我严格按照(https://spring.io/guides/gs/accessing-data-mysql/)的说明进行了操作。 说明: 行动: 考虑重新考虑上面的条件,或者在配置中定义一个类型为'javax.sql.DataSour

  • > 该服务使用SpringBoot、Maven、MongoDB和Ehcache。 服务需要一个快速且频繁缓存的服务器,所以最终,我选择了Ehcache。 所有缓存都将以几乎相同的频率调用,因此在这种情况下没有热数据或冷数据。 MongoDB中的原始数据每天都会被定时器服务更新,所以我每天要做的就是将所有更新的数据加载到Ehcache中。 这些数据中的每一项都彼此有联系,就像您使用一个来查找另一个的

  • 2018-02-28 13:18:20.062警告15208--[restartedMain]ationConfigEmbeddedWebApplicationContext:上下文初始化过程中遇到异常-取消刷新尝试:org.springFramework.Beans.Factor.UnsatistifiedDependencyException:创建类路径资源[org/springFramewo