JAVA开发jar lib包,Spring配置文件如何处理?

项目开发一个Jar lib依赖包,其中使用了spring容器技术,就有application.xml bean配置文件。问题是如果其它工程
引用这个jar包,而这个主工程也用了spring容器,也有xml bean配置文件。这种如何处理?
一般开发jar lib包时,用spring容器技术是如何设计给上层应用使用?


烙印99
浏览 699回答 2
2回答

慕田峪7331174

第一个问题,你可以通过配置ContextLoaderListener的监听文件路径,将两个项目的xml都注册到一个spring容器中,例如在web.xml中配置:&nbsp;&nbsp;&nbsp;&nbsp;<!--&nbsp;spring配置文件路径&nbsp;--> &nbsp;&nbsp;&nbsp;&nbsp;<context-param> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<param-name>contextConfigLocation</param-name> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<param-value> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!--加入Spring配置文件--> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;classpath:config/applicationContext.xml &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!--&nbsp;/WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/spring-srevlet.xml&nbsp;--> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</param-value> &nbsp;&nbsp;&nbsp;&nbsp;</context-param> &nbsp;&nbsp;&nbsp;&nbsp;<!--&nbsp;Spring监听器&nbsp;--> &nbsp;&nbsp;&nbsp;&nbsp;<listener> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> &nbsp;&nbsp;&nbsp;&nbsp;</listener>第二个问题,原则上开发第三方时,不应该直接使用spring容器(但可以依赖spring的jar),而是提供spring集成支持,容器一般在运行时才集成。这个东西我也不好用语言表达,举个简单例子,比如jedis是不依赖任何spring功能,但是spring-data-redis就能将jedis无缝集成到spring容器中。

慕莱坞森

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。
打开App,查看更多内容
随时随地看视频慕课网APP