亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JAVA開發jar lib包,Spring配置文件如何處理?

JAVA開發jar lib包,Spring配置文件如何處理?

烙印99 2018-10-29 04:09:07
項目開發一個Jar lib依賴包,其中使用了spring容器技術,就有application.xml bean配置文件。問題是如果其它工程 引用這個jar包,而這個主工程也用了spring容器,也有xml bean配置文件。這種如何處理? 一般開發jar lib包時,用spring容器技術是如何設計給上層應用使用?
查看完整描述

2 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

第一個問題,你可以通過配置ContextLoaderListener的監聽文件路徑,將兩個項目的xml都注冊到一個spring容器中,例如在web.xml中配置:

    <!-- spring配置文件路徑 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
             <!--加入Spring配置文件-->
            classpath:config/applicationContext.xml
            <!-- /WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/spring-srevlet.xml -->
        </param-value>
    </context-param>

    <!-- Spring監聽器 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

第二個問題,原則上開發第三方時,不應該直接使用spring容器(但可以依賴spring的jar),而是提供spring集成支持,容器一般在運行時才集成。這個東西我也不好用語言表達,舉個簡單例子,比如jedis是不依賴任何spring功能,但是spring-data-redis就能將jedis無縫集成到spring容器中。


查看完整回答
反對 回復 2018-11-03
?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

1) 利用了Spring ApplicationContext 的 registerBeanDefinition方法和動態bean注冊技術;
2) 作為bean管理的一個規范:要求Service類實現 setDAO(DAO dao)方法,以便統一注入dao實例;
3) 作為bean管理的一個規范:調用 dao.setDatasource(datasource)方法進行數據源注入;
4) 作為bean管理的一個規范:內部使用className作為 service bean 和dao bean的內部id;
5) 作為bean管理的一個規范:ServiceFactory內獲取bean實例時,都采用prototype scope。

查看完整回答
反對 回復 2018-11-03
  • 2 回答
  • 0 關注
  • 791 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號