元件註冊[email protected]&@Bean給容器
阿新 • • 發佈:2018-11-10
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); } }