Spring Application Context Provider

Sunday, January 2, 2011

Accessing the appolication context in java class is very easy. if you want to access the application context beans in any java class we have to set the application context at the time of server loading for that follow the
following process

The following class is used to set values in the application context dynamically.

AppContext.java

package com.raj;

import org.springframework.context.ApplicationContext;

/**
 * @author nagarajuv
 *
 */

public class AppContext {

    private static ApplicationContext ctx;

    /**
     * Injected from the class "ApplicationContextProvider" which is automatically loaded during Spring-Initialization.
     */
    public static void setApplicationContext(ApplicationContext applicationContext) {
        ctx = applicationContext;
    }

    /**
     * Get access to the Spring ApplicationContext from everywhere in your Application.
     * 
     * @return
     */
    public static ApplicationContext getApplicationContext() {
        return ctx;
    }

}

The following class is used to set the application context at the time of loading the server.

ApplicationContextProvider.java
package com.raj;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import com.raj.AppContext;

/**
 * @author nagarajuv
 *
 */
public class ApplicationContextProvider implements ApplicationContextAware {

    public void setApplicationContext(ApplicationContext ctx) throws BeansException {
        // Wiring the ApplicationContext into a static method
        AppContext.setApplicationContext(ctx);
    }
}

Place the following line in applicationContext.xml file

applicationContext.xml
<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC
  "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
  "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<!-- Application Context Provider -->
 <bean id="contextApplicationContextProvider" class="com.raj.ApplicationContextProvider"></bean>


Tags:Spring Application Context provider, in any java class, Application context, dynamically

0 comments: