@Component和@Configuration都可以作为配置类但两者是有区别的,上代码
@Configuration
public class MyTestConfig {
@Bean
public People p(){
People p= new People ();
p.setCar(car());
return p;
}
@Bean
public Car car(){
Car car = new Car();
car.setId(1);
car.setName("car");
return car;
}
}
测试代码如下
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestApplication {
@Autowired
private Car car;
@Autowired
private People p;
@Test
public void contextLoads() {
boolean b= p.getCar() == car;
System.out.println(result ? "同一个car" : "不同的car");
}
}
打印结果如下:
同一个car
替换为Component后的打印结果:
不同的car