Section 1. サービス・オブジェクトの分離
1.サービスオブジェクトとコントローラ
以下に示すように、コントローラがサービスオブジェクトをメンバー変数とした場合(DIシナリオ)、サービスオブジェクトの機能は変わらず、技術的方法が異なる場合はコードの変更が必要となる
特定のオブジェクトではなくインタフェースを使用して両者の結合を低減する(ばらばら結合)
// JDBC 를 JPA로 변경한다면 재컴파일 및 재빌드 필요없이 설정파일만 변경
<bean id ="noticeService" class="webprj.service.jdbc.JDBCNoticeService"/>
2.サービスインタフェース
NoticeServiceインタフェース
-DB select/insert/update/delete機能抽象メソッド宣言
3.JDBCNotcieServiceオブジェクト
Noticeインタフェースを実施するJDBCNotcieServiceオブジェクト4. Controller
非特定通知サービス対象の通知サービスインタフェースを参照し、メンバー変数でサービス対象をDIとする
Section 2. Oracle接続情報の解除
1. OracleDB Connection
url-接続するOracleDBのアドレスとポート番号uid/pwd-アカウントID/PWdriver-JavaとOracleの接続を支援するドライバ
2.接続情報の切断が必要
javaコード内にoracle接続コードを挿入し、コンパイルによりバイナリコード配布を行い、oracleアカウントパスワードが変更されたりホスト情報が変更されたりした場合、oracle接続情報コードが存在するすべての部分を検索して置き換え、再コンパイルと再配布を行い、トラブルが発生した接続情報をテキストとしてxml設定ファイルに指示し、DIに必要なオブジェクトに置き換える方式3.spring jdbcライブラリへの注入
releaseバージョン(モジュールバージョンx)
4.DataSourceクラスbeanの指定
データ・ソース・クラスの作成と属性(Oracle接続情報)サービス対象のDataSourceDIへの通知
5.JDBCNotcieServiceオブジェクト
データソースをメンバー変数とするDI Connection con = dataSource.getConnection(); コードの挿入
Reference
この問題について(サービス・オブジェクトの切断、Oracle接続情報の切断), 我々は、より多くの情報をここで見つけました
https://velog.io/@codren/Service-객체-분리
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol