Hibernate/Spring 框架:配置文件中数据库的路径
Posted
技术标签:
【中文标题】Hibernate/Spring 框架:配置文件中数据库的路径【英文标题】:Hibernate/Spring framework: path of the database in a configuration file 【发布时间】:2020-04-30 07:36:56 【问题描述】:我正在尝试编写一个简单的 Hibernate 应用程序,我希望根据应用程序配置文件更改 SQLite 数据库位置。
因此,我试图从项目中的文本文件中检索数据库的路径并将其放入dbLocation
,然后运行以下代码:
Configuration config = new Configuration();
config.setProperty("hibernate.connection.url", "jdbc:sqlite:" + dbLocation);
有没有更好、更“标准”的方式来做到这一点?我正在为我的应用程序使用 Spring Boot,我刚刚意识到有一个名为 application.properties
的文件。我可以用这个吗?我对 Hibernate 和 Spring 框架都很陌生。
【问题讨论】:
这能回答你的问题吗? Database application.yml for Spring boot from applications.properties 您可以使用 .props 或 .yml 进行配置。 Spring Boot 还将在环境之间进行拆分,因此您可以使用在启动时选择的 local/dev/qa/prod 文件。 【参考方案1】:在 Spring Boot 应用程序属性中,您可以将应用程序属性外部化,以便在应用程序源代码之外对其进行配置/管理。
在 application.properties 中定义属性后,您可以使用 SpringBoot 内置功能来访问值
@Configuration
public class ApplicationProperty
@Value("$prop")
private String prop;
【讨论】:
【参考方案2】:使用 Spring Boot 的另一种方法是使用 @ConfigurationProperties。
可以从文档中找到示例here
documentation 中的@ConfigurationProperties 和@Value 注解的比较
Feature @ConfigurationProperties @Value
Relaxed binding Yes No
Meta-data support Yes No
SpEL evaluation No Yes
【讨论】:
以上是关于Hibernate/Spring 框架:配置文件中数据库的路径的主要内容,如果未能解决你的问题,请参考以下文章
Spring + Hibernate + Spring Security 配置
struts + Hibernate + Spring WEB框架