创建对象之后如何体现对象之间的依赖?
Spring容器负责创建Bean和依赖注入,那么Spring是怎么将Bean装配在一起的呢?
Spring提供了三种方式装配机制
1.隐式的bean发现机制和自动装配
图一图二,是两个组件与Config类同包
图三,Configuration注解表明Config类是一个配置类,ComponentScan注解表明自动扫描创建该类所在包及子包下的组件;
图四,使用SpringJUnit4ClassRunner,以便在测试开始的时候自动创建Spring的应用上下文。ContextConfiguration注解会告诉在Config类中加载应用上下文的配置
第一种方式使用了autowired注解,把扫描到合适的bean自动注入;如找不到组件或者找到多个组件报错,找不到组件可设置required不报错【autowired(required=false)】注入Null,但使用时可能会报错。
2.在JavaConfig中显式配置
去掉ComponentScan注解,这种方式是通过Config告诉Spring容器需要创建的Bean
2.1默认情况下,bean的ID与带有@Bean注解的方法名是一样的。你想为其设置成一个不同的名字的话,可以重命名该方法,也可以通过name属性指定一个不同的名字。
2.2通过构造器注入创建对象,创建People对象之前会先在容器中创建查找Talent对象
相当于
3.通过XML创建装配bean
....未完待明天续