胡說(shuō)叔叔
2018-07-06 06:18:33
項(xiàng)目開(kāi)發(fā)一個(gè)Jar lib依賴包,其中使用了spring容器技術(shù),就有application.xml bean配置文件。問(wèn)題是如果其它工程
引用這個(gè)jar包,而這個(gè)主工程也用了spring容器,也有xml bean配置文件。這種如何處理?
一般開(kāi)發(fā)jar lib包時(shí),用spring容器技術(shù)是如何設(shè)計(jì)給上層應(yīng)用使用?
1 回答

HUH函數(shù)
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
第一個(gè)問(wèn)題,你可以通過(guò)配置ContextLoaderListener的監(jiān)聽(tīng)文件路徑,將兩個(gè)項(xiàng)目的xml都注冊(cè)到一個(gè)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監(jiān)聽(tīng)器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
第二個(gè)問(wèn)題,原則上開(kāi)發(fā)第三方時(shí),不應(yīng)該直接使用spring容器(但可以依賴spring的jar),而是提供spring集成支持,容器一般在運(yùn)行時(shí)才集成。這個(gè)東西我也不好用語(yǔ)言表達(dá),舉個(gè)簡(jiǎn)單例子,比如jedis是不依賴任何spring功能,但是spring-data-redis就能將jedis無(wú)縫集成到spring容器中。
添加回答
舉報(bào)
0/150
提交
取消