基于XML配置 |
基于注解配置 |
基于Java类配置 |
|
Bean定义 |
<bean id="..." class="..." /> |
@Component 衍生类@Repository @Service @Controller |
@Configuration标注类,@Bean标注提供Bean方法 |
Bean名称 |
通过 id或name指定 |
@Component("person") |
@Bean("person") |
Bean注入 |
<property> 或者 通过p命名空间 |
@Autowired 按类型注入 @Qualifier按名称注入 |
在方法内部编写注入代码逻辑 |
生命过程、Bean作用范围 |
init-method destroy-method 范围 scope属性 |
@PostConstruct 初始化 @PreDestroy 销毁 @Scope设置作用范围 |
在方法内部调用初始化方法 @Scope指定范围 |
适合场景 |
Bean来自第三方,使用其它命名空间 |
Bean的实现类由用户自己开发 |
实例化Bean的逻辑比较复杂 |