IoC 依赖查找
- 根据Bean名称查找
- 实时查找
- 延迟查找
- 根据Bean类型查找
- 单个Bean对象
- 集合Bean对象
- 根据Bean名称 + 类型查找
- 根据Java注解查找
- 单个Bean对象
- 集合Bean对象
private static void lookupByAnnotation(BeanFactory beanFactory) {
if (beanFactory instanceof ListableBeanFactory) {
ListableBeanFactory listableBeanFactory = (ListableBeanFactory) beanFactory;
Map<String, User> users = (Map) listableBeanFactory.getBeansWithAnnotation(Super.class);
System.out.println("查找到的所有@Super的User集合对象:" + users);
}
}
private static void lookupByCollection(BeanFactory beanFactory) {
if (beanFactory instanceof ListableBeanFactory) {
ListableBeanFactory listableBeanFactory = (ListableBeanFactory) beanFactory;
Map<String, User> users = listableBeanFactory.getBeansOfType(User.class);
System.out.println("查找到的所有User集合对象:" + users);
}
}
private static void lookupByType(BeanFactory beanFactory) {
User user = beanFactory.getBean(User.class);
System.out.println("实时查找:" + user);
}
private static void lookupInLazy(BeanFactory beanFactory) {
ObjectFactory<User> objectFactory = (ObjectFactory<User>) beanFactory.getBean("objectFactory");
User user = objectFactory.getObject();
System.out.println("延迟查找:" + user);
}
private static void lookupInRealTime(BeanFactory factory) {
User user = (User) factory.getBean("user");
System.out.println("实时查找:" + user);
}
IoC 依赖注入
- 根据Bean名称注入
- 根据Bean类型注入
- 单个Bean对象
- 集合Bean对象
- 注入容器内建Bean对象
- 注入非Bean对象
- 注入类型
- 实时注入
- 延时注入
<bean id="userRepository"
class=" org.example.ioc.overview.repositary.UserRepository"
autowire="byType">
<!-- 开启 Auto-Wring 自动注入 -->
<!-- 硬编码、手动配置 -->
<!-- <property name="users">-->
<!-- <util:list>-->
<!-- <ref bean="user"/>-->
<!-- <ref bean="superUser" />-->
<!-- </util:list>-->
<!-- </property>-->
</bean>
IoC 依赖来源
- 自定义Bean
- 容器内建Bean对象
- 容器内建依赖
IoC 配置元信息
-
Bean 定义配置
-
基于 XML 文件
-
基于 Properties 文件
-
基于 Java 注解
-
基于 Java API
-
-
IoC 容器配置
- 基于 XML 文件
- 基于 Java 注解
- 基于 Java API
-
外部化属性配置
- 基于 Java 注解
本文详细介绍了IoC(Inversion of Control)依赖注入的概念,包括基于名称和类型的Bean查找,以及实时和延迟查找。此外,还展示了如何通过注解进行Bean查找,并探讨了依赖注入的不同方式,如按名称和类型注入单个和集合Bean对象。同时,讨论了IoC容器的配置,如XML、Java注解和API,并涉及外部属性配置。最后,提到了IoC依赖的来源和配置元信息。
335

被折叠的 条评论
为什么被折叠?



