什么是Bean的自动装配?
简而言之,一个类就是一个Bean,Spring框架是一个Bean容器,替我们管理这些Bean。类似于舞台剧,需要很多角色,Spring就是来组织各个角色之间的关系,然后对这些角色进行调动。
一、纯粹使用XML文件描述
此时XML 文件就相当于一个总的司令部,所有的Bean都被统一地在该文件中进行注册登记。
二、使用注解描述
没有了派出所统一登记造册,Spring框架就不能通过这个统一的文件来向自己容器内添加Bean。使用注解,就是在每个Bean上面做出标记,当遇到标记的时候,Spring就会产生相应的动作。
三、使用JavaConfig
这种方式也是结合注解来理解。就是建立一个配置Bean(也是一个类),对这个类进行@Configuration注解,内部多个方法产生类,类上面进行@Bean的标记。Spring容器启动的时候通过XML文件中你对这个配置Bean的描述找到这个配置Bean,然后通过其内部的注解进行相应的注入动作。
关于自动装配
- 有一个注解是@Autowired,这个注解会将一个Bean需要的其他Bean通过这个注解给注入进来。即一间房子,你声明了门、窗和床。只要在这些属性上面添加该注解,你就相当于拥有了这些属性,而不需要使用new 来创建这些对象。
下面是代码示例:
public class Room
{
@Autowired
private Bed bed;
@Autowired
private Door door;
@Autowired
private Window window;
public String getBedName()
{
return this.bed.name;
}
}
通过上面的代码我们可以发现,我们想要得到Bed的name,但是我们并没有创建bed,而是通过spring通过注解给予Room一个Bed对象。
以此小结。