1 通过配置文件的方式。
1.1 创建bean.xml文件。
1.2 <bean></bean>标签注bean
2 通过<context:component-scan></context:component-scan>组件扫描。
2.1 在xml文件中<context:component-scan base-package="com.componentscan"></context:component-scan>
2.2 在被扫描的包中标注@Controller@Service@Repository@Component就可以被扫描到IOC容器
缺点: 只能扫描到自己新建的bean,不能扫描第三方的bean,因为无法给第三方bean添加注解。
3 通过@Bean注解
3.1 标识@Configuration,表明配置类。
3.2 标识@Bean,通过返回值注册到IOC容器
@Bean
public Person person() {
return new Person("gege", 789);
}
缺陷:简单的组件可以通过无参构造器新建实例返回,然后注册到容器,但是如果是复杂的就很麻烦。
4 通过@Import注解。
5 使用FactoryBea