Spring MVC(3):サービス
18216 ワード
maven>ojdbc 8を追加します.
xmlタグを表示すると、beanのnameタグはリクエストを発行するuriです.
idタグは内部参照の名前であることがわかります.
refタグターゲットが参照型の場合
property nameターゲットを設定します.
したがって,DIオブジェクトを受信したい場所にそのオブジェクトを含めるsetterが必要である.
胃は結合力が強い場合です
界面の多形性を利用して結合力を低減する
前に示したように、梱包後
ニューヨークと違って、私たちは近づきます.
https://mvnrepository.com/artifact/org.springframework/spring-jdbc/5.2.12.RELEASE
上にREALEASEと表記し、多く使用されているバージョンをインポート
依存性をpomに追加すると
Javaファイル検索
ではimportフルパッケージ名+クラス名xmlに追加
結果は以下の通りです.
そのためには、設定情報を別途読む必要があります.
問題は、最初のリクエスト時に上記の情報がロードされるため、少し遅いことです.
数字1が複数のサーブレットの場合の優先順位
java
private NoticeService noticeService;
public void setNoticeService(NoticeService noticeService) {
this.noticeService = noticeService;
}
dispatcher-servlet.xml
<bean id="noticeService" class="com.newlecture.web.service.NoticeService" />
<bean name="/notice/list" class="com.newlecture.web.controller.notice.ListController" >
<property name="noticeService" ref="noticeService" />
</bean>
以上のように、コントローラオブジェクトは、サービスオブジェクトの設定を許可します.xmlタグを表示すると、beanのnameタグはリクエストを発行するuriです.
idタグは内部参照の名前であることがわかります.
refタグターゲットが参照型の場合
property nameターゲットを設定します.
したがって,DIオブジェクトを受信したい場所にそのオブジェクトを含めるsetterが必要である.
胃は結合力が強い場合です
界面の多形性を利用して結合力を低減する
前に示したように、梱包後
public interface NoticeService {
public List<Notice> getList(int page, String field, String query);
int getCount() throws ClassNotFoundException, SQLException;
int insert(Notice notice) throws ClassNotFoundException, SQLException;
int update(Notice notice) throws ClassNotFoundException, SQLException;
int delete(int id) throws ClassNotFoundException, SQLException;
}
インタフェース宣言<bean id="noticeService" class="com.newlecture.web.service.jdbc.JDBCNoticeService" />
このコードにサービスオブジェクトを挿入し、挿入すればいいです.jdbc設定情報の分離
ニューヨークと違って、私たちは近づきます.
https://mvnrepository.com/artifact/org.springframework/spring-jdbc/5.2.12.RELEASE
上にREALEASEと表記し、多く使用されているバージョンをインポート
依存性をpomに追加すると
Javaファイル検索
DirverManagerDataSource
を開きます.ではimportフルパッケージ名+クラス名xmlに追加
結果は以下の通りです.
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" ></property>
<property name="url" value="jdbc:oracle:thin:@localhost:1521/xepdb1" ></property>
<property name="username" value="philz" ></property>
<property name="password" value="1234" ></property>
</bean>
<bean id="noticeService" class="com.newlecture.web.service.jdbc.JDBCNoticeService" >
<property name="dataSource" ref="dataSource"></property>
</bean>
xmlプロファイルを開く
dispatcher-servlet.xml
は、複数のxmlファイルに分割できます. <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/service-context.xml
/WEB-INF/spring/security-context.xml
</param-value>
</context-param>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/servlet-context.xml</param-value>
</init-param>
</servlet>
ContextConfigLocationにはxmlが1つしかありません.そのためには、設定情報を別途読む必要があります.
ContextLoaderListener
は、Tomcat/セッションの開始/終了時にイベントを読み出すクラスである問題は、最初のリクエスト時に上記の情報がロードされるため、少し遅いことです.
<servlet>
<servlet-name>dispatcher</servlet-name>
...
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
このように変更すると、最初のリクエストではなく、Tomcatを同時に非同期でロードします.数字1が複数のサーブレットの場合の優先順位
Reference
この問題について(Spring MVC(3):サービス), 我々は、より多くの情報をここで見つけました https://velog.io/@progress0407/newlecture-spring-MVC-3-서비스テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol