Spring-Initialization: AnnotationConfigApplicationContext

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;
    }
}

 

Guess you like

Origin www.cnblogs.com/shix0909/p/12716070.html