Java WAR - загрузка бинов Spring из внешнего JAR
Я хотел бы загрузить в свое веб-приложение Spring MVC (упакованное как WAR) некоторые компоненты среды Spring, аннотированные@Service
от внешнего банка, который отвечает за доступ к базе данных инаходится в пути к классам в / WEB-INF / lib. Если возможно, было бы желательно загрузить их автоматически, используя@Autowired
аннотаций.
Я успешно следовал решению в этомlink1:
this.ctx = new ClassPathXmlApplicationContext("services-context.xml");
this.myAService = ctx.getBean("myAService");
Однако это решение использует функцию Spring APIgetBean что считается плохой практикой (см.link2).
Я также попытался, без удачи, загрузить еще две вещи из внешнего приложения jarContext:
AppContext.xml WAR:
<import resource="classpath*:/WEB-INF/lib/pathToExternalJar/applicationContext.xml">
WAR xs web xml -> загрузить appContext из jar, как описано здесь (link3). (например, * applicationContext.xml):
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:localSpringContext.xml
classpath:*applicationContext.xml
</param-value>
</context-param>
Каков наилучший подход для правильной загрузки этих компонентов и как это сделать?