Home | Categories | Tags |
|
<context:component-scan base-package=”com.springaction.springidol” />会自己加载使用@Configuration注解标注的类。
在基于Java的配置里使用@Configuration注解的Java类等价于XML配置中
1 | @Configuration |
@Configuration注解会作为一个标示告知Spring:这个类将包含一个或者多个Spring Bean的定义。这些Bean的定义是使用@Bean注解所标注的方法。
即使context:annotation-config有助于帮助我们完全消除Spring配置中的
使用还有另外一个技巧:context:component-scan。它可以完成context:annotation-config一样的工作,还允许自动检测Bean和定义Bean。使用自动检测,需要context:component-scan来替代context:annotation-config元素。
1 | <context:component-scan base-package="com.websystique.spring" /> |
context:component-scan元素会扫描指定包及其所有的子包。并查找出能够自动注册为Spring Bean的类。这需要构造型(stereotype)进行注解。
我们已经知道如何使用
幸运的是,Spring提供了几种技巧,可以帮助我们减少XML的配置数量。
到目前为止我们为Bean的属性和构造器参数装配的所有东西都是在Sping的xml文件中静态定义的。但是如果我们为属性装配的值只又在运行的时期才能知道,如何实现?
创建应用对象之间协作关系的行为通常被称为装配,这也是Spring依赖注入的本质。
Spring有两个很接口:BeanFactory和ApplicationContext接口,它们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并管理容器中的Bean。
Spring是一个基于容器的框架,如果没有配置Spring,那它就是一个空容器,对于我们也就毫无用处。因此,我们需要配置Spring来告诉容器需要加载哪些Bean和如何装配这些Bean。
Spring容器提供了两种装配Bean的方式: