Java WAR - Załaduj fasolę Spring z zewnętrznego pliku JAR

Chciałbym załadować do mojej aplikacji internetowej Spring MVC (spakowanej jako WAR) niektóre komponenty Spring Framework z adnotacjami@Service z zewnętrznego słoika, który jest odpowiedzialny za dostęp do bazy danych iznajduje się w ścieżce klasy w / WEB-INF / lib. Jeśli to możliwe, pożądane byłoby ich automatyczne załadowanie za pomocą@Autowired adnotacja.

Z powodzeniem zastosowałem to rozwiązanielink1:

this.ctx = new ClassPathXmlApplicationContext("services-context.xml");
this.myAService = ctx.getBean("myAService");

Jednak to rozwiązanie wykorzystuje funkcję Spring APIgetBean co jest uważane za złą praktykę (patrzlink2).

Próbowałem też, bez powodzenia, jeszcze dwóch rzeczy, aby załadować zewnętrzny applicationContext jar:

WAR's appContext.xml:

<import resource="classpath*:/WEB-INF/lib/pathToExternalJar/applicationContext.xml">

WAR's web xml -> załaduj plik jar aplikacji jak opisano tutaj (link3). (np. * applicationContext.xml):

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:localSpringContext.xml
            classpath:*applicationContext.xml
        </param-value>
    </context-param>

Jakie jest najlepsze podejście do prawidłowego załadowania tych ziaren i jak należy je wykonać?

questionAnswers(1)

yourAnswerToTheQuestion