1. 程式人生 > >元件註冊[email protected]&@Bean給容器

元件註冊[email protected]&@Bean給容器

    spring註解驅動開發,將原有的spring的配置去掉,取而代之的是配置類。

    所以第一步,建立配置類:

package cn.ccnu.config;

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

import cn.ccnu.domain.Person;

// 配置類的作用與配置檔案一樣
@Configuration	// 告訴spring這是一個配置類
public class MainConfig {
	
	// 給容器中注入一個bean,其中型別:返回值型別;id:預設為方法名
	@Bean("person")
	public Person person(){
		return new Person("Alex", 18);
	}
}

    如此,便可以向spring容器中注入bean,接下來看如何從spring容器中獲取bean。

package cn.ccnu.test;

import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import cn.ccnu.config.MainConfig;
import cn.ccnu.domain.Person;

public class MainTest {
	private ApplicationContext context;
	
	@Before
	public void init(){
		context = new AnnotationConfigApplicationContext(MainConfig.class);
	}
	
	@Test
	public void test(){
		// 按型別獲取
		Person person1 = context.getBean(Person.class);
		System.out.println(person1);
		
		// 按id獲取,id預設為方法名,也可以通過@Bean註解指定名字。如@Bean("Alex")
		// Person person2 = (Person) context.getBean("Alex");
		Person person2 = (Person) context.getBean("person");
		System.out.println(person2);
		
	}
}