![](/img/trans.png)
[英]Access configuration file mentioned in spring boot application.properties after creating the .jar for App engine deployment
[英]How to provide DataSource properties in spring boot application after deployment of the application
我正在開發一個配置為 PostgreSQL 數據庫的服務器,我希望該應用程序從特定於他的數據庫的客戶端獲取數據源屬性(用戶名、密碼、端口、主機名等),所以我如何從客戶端獲取輸入並傳遞部署后的配置,因為我只想分發服務器的 WAR 文件
是的,您可以從客戶端動態添加配置。 我們可以通過spring-boot hibernate來實現這個概念。
--> 你必須創建一個 class 來自動配置屬性。 我正在共享我的示例代碼來配置屬性。
package com.spring.hibernate.config;
import java.util.Properties;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableTransactionManagement
public class Configurations {
@Value("${db.url}")
private String URL;
@Value("${db.username}")
private String USERNAME;
@Value("${db.password}")
private String PASSWORD;
@Value("${hibernate.hbm2ddl.auto}")
private String HBM2DDL;
@Value("${hibernate.show_sql}")
private String SHOW_SQL;
@Value("${hibernate.dialect}")
private String DIALECT;
@Value("${spring.entitymanager.packagestoscan}")
private String packagesToscan;
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setUrl(URL);
dataSource.setUsername(USERNAME);
dataSource.setPassword(PASSWORD);
return dataSource;
}
@Bean
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
sessionFactory.setDataSource(dataSource());
sessionFactory.setPackagesToScan(packagesToscan);
Properties hibernatePropertise = new Properties();
hibernatePropertise.put("hibernate.dialect", DIALECT);
hibernatePropertise.put("hibernate.hbm2ddl.auto", HBM2DDL);
hibernatePropertise.put("hibernate.show_sql", SHOW_SQL);
sessionFactory.setHibernateProperties(hibernatePropertise);
return sessionFactory;
}
}
在上面的結構中有一個配置class來配置應用Properties文件。 並讓您的應用程序屬性文件如下。
db.url: jdbc:mysql://localhost:3306/data_db
db.username: root
db.password: 8452
hibernate.hbm2ddl.auto=update
hibernate.show_sql=true
hibernate.dialect: org.hibernate.dialect.MySQL5InnoDBDialect
spring.entitymanager.packagestoscan: com.spring.hibernate
使用上面的示例代碼。 仍然需要任何邏輯對我有命令......謝謝..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.