Showing posts with label Spring. Show all posts
Showing posts with label Spring. Show all posts

Spring Framework Annotations

Sunday, March 5, 2017

Spring Framework Annotations Earlier the behavior of the Spring Framework was largely controlled through XML configuration.Today, the use of annotations provide us huge capabilities in how we configure the behaviours of the Spring Framework

@Autowired
Annotation @Autowired is used to inject object dependency implicitly for a constructor, field or method. This is known as "autowired by type" since the object to be injected is discovered by its type. The items declared @Autowired need not have to be public.

@Qualifier
It can be used to create more than one bean of the same type and wire only one of the types with a property. It provides greater control on the dependency injection process and can be used with @Autowired annotation.

@Required
Used to mark class members that are mandatory. The Spring auto-configuration fails if a particular property specified with this annotation cannot be injected.

@ComponentScan
Make Spring scan the package for the @Configuration clases.

@Configuration
It is used on classes that define beans.

@Bean
It indicates that a method produces a bean which will be mananged by the Spring container.

@Lazy
Makes a @Bean or @Component to be initialized only if it is requested.

@Value
It is used to inject values into a bean's attribute from a property file. @Value annotation indicates a default value expression for the field or parameter.


Tags:Spring, Spring Framework annotations

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