Introduction
使用AnnotationConfigApplicationContext可以实现基于Java的配置类加载Spring的应用上下文
package com.sixinshuier.springbean.definition; import com.sixinshuier.springbean.Config.BeanConfiguration; import com.sixinshuier.springbean.domain.Toy; import org.springframework.context.annotation.AnnotationConfigApplicationContext; /** * AnnotationConfigApplicationContext 的使用 */ public class AnntationConfigTest { public static void main(String[] args) { // 创建BeanFactory 容器 AnnotationConfigApplicationContext applicationContext=new AnnotationConfigApplicationContext(); //注册 Configuration Class (配置类) applicationContext.register (BeanConfiguration. class ); // Start the context of the Spring application applicationContext.refresh (); // Dependency search for Bean Toy toy1 = (Toy) applicationContext.getBean ("Toy1" ); System.out.println (toy1. getName () + ":" + toy1.getSize ()); Toy toy2 = (Toy) applicationContext.getBean ("Toy2" ); System.out.println (toy2.getName () + ":" + toy2.getSize ( )); // Close the spring application online applicationContext.close (); } }
package com.sixinshuier.springbean.Config; import com.sixinshuier.springbean.domain.Toy; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration //相当于spring xml的<beans> public class BeanConfiguration { @Bean(name = "Toy1")// 相当于<bean> public Toy toy(){ Toy toy=new Toy(); toy.setName("Football"); toy.setSize("big"); return toy; } @Bean(name = "Toy2") public Toy toy1(){ Toy toy=new Toy(); toy.setName("Table tennis"); toy.setSize("small"); return toy; } }