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框架

struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)

hibernate+spring+struts2整合

Spring第四天——SSH整合

java的三大框架是啥,功能各是啥