Java-KRIEG - Load Spring-Bean aus einem externen JAR

Ich würde gerne laden in meinem Spring MVC Web-Anwendung (verpackt als KRIEG) einige Spring-framework Bohnen kommentiert mit @Service von einem externen Gefäß, das dafür zuständig ist, den Zugriff auf eine Datenbank und befindet sich in der classpath unter /WEB-INF/lib. Wenn möglich, wäre es wünschenswert, laden Sie Sie automatisch mithilfe der @Autowired annotation.

Ich habe erfolgreich die Lösung in diesem link1:

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

Jedoch, diese Lösung verwendet das Spring-API-Funktion getBean was als eine schlechte Praxis (siehe link2).

Ich auch schon versucht, ohne Glück zwei weitere Dinge zu laden, die externe jar-Datei ApplicationContext:

  • WARs appContext.xml:
    <import resource="classpath*:/WEB-INF/lib/pathToExternalJar/applicationContext.xml">
  • WARs, web -, xml -> laden Sie die Gläser appContext wie hier beschrieben (link3). (z.B. *applicationContext.xml):
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                classpath:localSpringContext.xml
                classpath:*applicationContext.xml
            </param-value>
        </context-param>

Was ist der beste Ansatz zum Last-Bohnen richtig und wie sollte es getan werden?

InformationsquelleAutor aloplop85 | 2013-07-10

Schreibe einen Kommentar