一、在XML中进行显式配置
二、在Java中进行显式配置
@Configuration
public class MyConfig {
@Bean(name = "leoBook")
public Book myBook() {
return new Book();
}
}
三、隐式的bean发现机制和自动装配
package com.leo;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan(basePackageClasses = {Main.class, StringOrder.class})
public class MyConfig {
public void BookConfig() {
}
}
- 组件扫描:Spring会自动发现应用上下文中所创建的bean
package com.leo;
import org.springframework.stereotype.Component;
@Component("book")
public class Book {
private String name;
private String price;
}
- 自动装配:Spring会自动满足bean之间的依赖
package com.leo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = MyConfig.class)
public class MainTest {
@Autowired
@Test
public void buyBook(Book book) {
System.out.println("****" + book);
}
}