- 声明Bean
- 构造器注入和Setter方法注入
- 装配Bean
- 控制bean的创建和销毁
任何一个应用都是由多个为了完成某一业务目标而相互协作的组件构成,且构件之间必须彼此了解,并且相互协作来完成工作。
创建应用对象之间协作关系的行为称装配(wiring),这也是依赖注入(DI)的本质。
- 配置Spring容器:
- XML中显式配置
- 在java中进行显式配置:JavaConfig
- 隐式的bean发现机制和自动化装配(源码不是自己维护的时候,该方法不能使用)
- 自动化装配:1)组件扫描(component scan)2)自动装配(autowiring)
2.1 @ComponetScan:
- basePackages={“xxx”, ”yyy”}
- basePackageClasses={A.class, B.class}
2.2 自动装配:
自动装配就是让Spring自动满足bean依赖的一种方法,在满足依赖的过程中,会在Spring应用上下文中寻找匹配某个bean需求的其他bean
- JavaConfig
- @Configuration
- @Bean
- 该配置类必须 在@Component注解的扫描路径内
- 定义的Bean如果依赖其他Bean,则以直接写入方法参数,如果依赖的Bean注册到了IOC容易内,则会自动注入;
也可以在生成对应Bean的方法内调用依赖Bean的生成方法,框架会判断该方法是否是配置类中的方法,如果是,则不会调用该方法,直接注入对应的bean。
- 导入和混合配置:
@Import:注入其他JavaConfig
@ImportResource:注入XML