学习地址
链接: lite-spring
欢迎点赞,关注,分享
Spring知识点
说到Spring,我们经常会听到2个概念
一是依赖注入
二是控制反转
那他们就是靠我们的Bean容器来实现的,在使用前我们先将所需要的对象信息放入Spring工厂中,它负责对象的初始化和实例化,那接下来就实现一个简单的Bean容器吧
BeanDefinition
它定义了 Bean 的配置元信息接口,此处我们仅定义一个简单的实现
使用一个BeanDefinition类封装我们的对象,在BeanDefinition初始化的时候就实例化bean对象,同时提供getBean方法获取bean
BeanFactory
前面定义好了Bean的信息,那么后面我们需要将定义好的Bean使用容器进行装载,那就要使用的我们的Bean容器BeanFactory了,在这里我们使用HashMap作为我们的容器来接受所有的Bean对象。
演示
对象的注册和获取流程
定义
我们的对象类:UserService
对象里定义了获取用户的方法,此处使用控制台打印模拟获取用户的逻辑操作
初始化
BeanFactory
此处使用new关键字进行创建我们的工厂对象
BeanFactory beanFactory = new BeanFactory();
注入bean
定义bean的元数据信息
1、使用new关键字创建UserService对象 bean
2、使用new关键字创建BeanDefinition对象 beanDefinition
3、将bean,beanDefinition对象注册到beanFactory中,并以userService
作为该对象在容器中的名称
UserService bean = new UserService();
BeanDefinition beanDefinition = new BeanDefinition(bean);
beanFactory.registerBeanDefinition("userService", beanDefinition);
获取bean
从工厂类中获取对象
1、从beanFactory中获取userService对象
2、调用userSerice对象中getUser方法用于验证对象是否获取成功
UserService userService = (UserService) beanFactory.getBean("userService");
userService.getUser();
业精于勤,荒于嬉;行成于思,毁于随