ニューヨーク春季MVC(20-24)
6481 ワード
20.21.22サービスファイルの説明
簡単に言えば
サービスはDAOの役割になります
DAOとは?
JAVAコードからなる実行方法のクラスです.
また、サービスを作成する際に、サービスを作成する際に同じサービス内容が発生するが、内部コードが異なる場合に備えて、通過する必要があるメインインタフェースが作成され実現される.
[はい]
NoticeService
(1)JDBCNOTICEserviceへの接続
(2)JPANoticeServiceへの接続
このように接続することで、xmlファイルの設定をいつでも置き換えることができ、メンテナンスが容易になります.
23.接続をデータソースとして使用
private String url = "jdbc:oracle:thin:@localhost:1521/xe";
private String uid = "jsp";
private String pwd = "tigar";
private String driver = "oracle.jdbc.driver.OracleDriver";
元のサービスクラスでは、String変数に各情報を入力します.それぞれの方法
Class.forName(driver);
Connection con = DriverManager.getConnection(url,uid, pwd);
このようにDBが接続されていますが、そうするとDBの変更やメンテナンスが非常に難しくなります.そこで、DataSourceというインタフェースを使用して、DBに関連付けられた情報をxmlに設定します.
デバイス
private DataSource dataSource;
public void setDataSource(DataSource dataSource)
{
this.dataSource = dataSource;
}
上記のコードを使用してSetterを設定し、xmlを介してサービスクラスに注入します.dispatcher-servlet.xmlに注入を設定する
<bean id="noticeService" class="com.newlecture.web.service.jdbc.JDBCNoticeService">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521/xe"/>
<property name="username" value="jsp"/>
<property name="password" value="tigar"/>
</bean>
(1)通知サービスという名前のJDBCCNoticeServiceクラスでは、dataSourceという名前のbeanをname="dataSource、すなわちsetDataSourceに注入する.これは、bean idという名前のbeanを通知サービスに注入することを意味する
(2)データソースspringframeworkによるインタフェース
propertyにはdriverClass、url、username(id)、passwordの4種類があり、これらの情報を設定するとメンテナンス時に非常に便利になります
24.xmlファイルの分離
本来はすべてのxmlファイルをdispatcherファイルに入れるのですが、メンテナンスのために別々にするのが望ましいです
普通です.
それなら、既存の販売店です.xmlを注入するweb.xmlの設定も変更する必要があります
重要なのは、ファイルコードではなく、このような方法で注入することです.
Reference
この問題について(ニューヨーク春季MVC(20-24)), 我々は、より多くの情報をここで見つけました https://velog.io/@tkdqhr6777/뉴렉처-스프링MVC20テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol