老生谈spring(二十五):手动装配VS自动装配
1、手动装配
手动装配是可以进行value和ref进行配置,因为他已经明确了指定的属性值,这个称之为手动装配。手动装配分为:
- 模式注解装配
例子:其实就是使用@Component注解,或者@Component注解的拓展,比如@Controller、@Service、Repository、@Configruation等,
这也是我们最常用的一种方式,直接通过spring mvc的注解把组件bean注入到spring容器中。
-
@Enable模块装配
例子:
-
条件装配
例子:
所谓条件装配,其实是Bean装配的前置条件,我们先来看一下例子:
@ConditionalOnBean
仅仅在当前上下文中存在某个对象时,才会实例化一个Bean
@ConditionalOnExpression
当表达式为true的时候,才会实例化一个Bean
@ConditionalOnMissingClass
某个class类路径上不存在的时候,才会实例化一个Bean
@ConditionalOnNotWebApplication
不是web应用
2、自动装配
自动装配的是根据他的指定装配规则,不需要明确指定,spring自动装配将匹配的属性值注入到bean中。
例子