ApplicationContext——类注解的配置方式

Spring 3.0支持基于类注解的配置方式,主要功能来自于Spring的一个名为JavaConfig子项目,目前JavaConfig已经升级为Spring核心框架的一部分。一个标注@Configuration注解的POJO即可提供Spring所需的Bean配置信息。


下面举个例子,实现类Car.java与前面的相同,下面添加两个文件

1.以带注解的Java类提供的配置信息:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 
 * @author huamanxi
 * 以带注解的Java类提供的配置信息
 */

//1.表示是一个配置信息提供类
@Configuration
public class Beans {
	//2.定义一个Bean
	@Bean(name="car")
	public Car buildCar(){
		Car car=new Car();
		car.setBrand("宝马");
		car.setColor("红色");
		return car;
	}
}

2、通过带@Configuration的配置类启动容器

Spring为基于注解类的配置提供了专门的ApplicationContext实现类:AnnotationConfigApplicationContext:

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * 
 * @author huamanxi
 * 通过带@Configuration的配置类启动容器
 */
public class AnnotationApplicationContext {
	public static void main(String[] args) {
		/*
		 * 通过一个带@Configuration的POJO装载Bean配置
		 * AnnotationConfigApplicationContext将加载Beans.class中的Bean定义
		 * 并调用Beans.class中的方法实例化Bean,启动容器并装配Bean
		 */
		ApplicationContext ac=new AnnotationConfigApplicationContext(Beans.class);
		Car car=(Car) ac.getBean("car");
		System.out.println(car);
	}
}

运行结果:

brand:宝马  color:红色  maxSpeed:0


类注解的配置方式与基于XML文件配置方式的区别:

       类注解的配置方式可以很容易地让开发者控制Bean的初始化过程,比基于XML的配置更灵活

你可能感兴趣的:(Java框架——Spring)