Punter Vicky
Punter Vicky

Reputation: 16992

Use of ClassPathXmlApplicationContext in Standalone Java class

I am not exposed to Spring as yet. I saw the below code in one of the standalone java projects that I have in my system. Can you please help me understand the below code.I am unable to see spring.xml in the project - is it something that must be there and is missing?

    appContext = new ClassPathXmlApplicationContext(new String[] {
        "classpath*:/META-INF/spring.xml",
        "classpath*:myapplication-application-context.xml"
        });

Upvotes: 6

Views: 27148

Answers (2)

Aravind A
Aravind A

Reputation: 9697

The core functionality of Spring revolves around the ApplicationContext which is the "Central interface to provide configuration for an application. " This interface is implemented by the ClassPathXmlApplicationContext which helps you take the context definitins from your classpath .Hence you specify classpath* .

As @skaffman explains , your application get loaded from the context definitions in the above mentioned files . i.e, all the Spring beans are initialized and Dependency Injection is performed as required .

If you deal with web applications , Spring has got a corresponding web application context loaded by XmlWebApplicationContext

Upvotes: 7

skaffman
skaffman

Reputation: 403551

The classpath* syntax means that Spring will search the classpath for all resources called /META-INF/spring.xml and myapplication-application-context.xml, and will amalgamate them into the context. This includes looking through JAR files inside the project, so there may not be any visible within your main project files.

Upvotes: 9

Related Questions