2017-11-07 8 views
0

私は自分のWebアプリケーションを私が働く会社のさまざまな部門に配布したいと思っています。各デプロイメントが提供する最も良い方法は何か独自のデータベースインスタンス。私はHibernateを使用しています。最初のデプロイメントでは実際にデータベースが作成され、そこに多数のデータがインポートされますが、ユーザーが独自のデータベースURLと資格情報を指定できる最もクリーンで信頼性の高い方法を探しています。それがある場合には(すべての手段によって、この神話を粉砕してください、私はあなたが簡単にWebアプリケーションからの相対パスを使用して設定ファイルを読み込むことができないことをオンラインで読む春のMVCアプリケーションでデータベース情報を外部に保存する最善の方法

public DataSource dataSource() 
{ 
    ComboPooledDataSource dataSource = new ComboPooledDataSource(); 
    try 
    { 
     dataSource.setDriverClass("net.sourceforge.jtds.jdbc.Driver"); 
     String hostName = InetAddress.getLocalHost().getHostName(); 
     dataSource.setJdbcUrl("jdbc:jtds:sqlserver://localhost:1433/MDHIS;InstanceName=ADT;sendUnicode=false"); 
     dataSource.setUser("sa"); 
     dataSource.setPassword("N0tY0urBu$1nes$"); 
    } 
    catch (Exception ignored) {} 
    return dataSource; 
} 

:現在、私のコードは、データベースの情報のため、ハードコードされた参照を持っています1つ)ので、私は環境変数を使用することを考えていた。私はこれを完全にポータブルにして、UbuntuとWindowsの両方で動作させたいので、うまくいくかどうかは分かりません。私は100%のアノテーションをベースにしたメソッドを使用しているので、XMLファイルはまったく存在しません。そのままにするつもりです。

提案がありますか?

ありがとうございます!助けのための

+1

springブート用のapplication.propertyファイルを使用します –

+1

現在私は実際にSpring Bootを使用していませんが、統合するにはあまりにも狂っていない場合、私はいつも見ることができます。 – Martin

+1

あなたはこのリンクを読むことができますhttps://dzone.com/articles/using-more-one-property-file –

答えて

0

おかげで、私は私の設定のクラスに注釈を付けることになった:

@PropertySource("classpath:config.properties") 

私はそれから置かれ、クラスパスのベースとなるJavaのフォルダ内のファイルと述べました。私は、ファイルでこれを置く:

するDBURL = JDBC:JTDS:のSQLServer:// localhostを:1433/MDHIS;のInstanceName = ADT; sendUnicode = falseを

私が今やってコードで情報にアクセスすることができます。

dataSource.setJdbcUrl(environment.getProperty("dbUrl")); 

環境は、私のHibernate設定クラスにautowiredされている依存関係です。

ありがとうございます!

関連する問題